4 ms·
Sorry what do you mean by 'thrashing' in this context?
by yawaramin 2y ago
Sorry what do you mean by 'thrashing' in this context?
- tantalor 2y agoReload causes skew causes reload
- yawaramin 2y agoHow does reload cause skew? Reload will just load the latest version of the webapp. That's the point.
- tantalor 2y agoIf you force a reload before the rollout is complete, the user will still experience skew, because you haven't finished the rollout. The website will be completely unusable for a significant fraction of users. You might as well turn off the website during the rollout. This is the main concern of skew - how to keep the website usable at all times for all users across versions. If your rollout times are very short then skew is not a big concern for you, because it will impact very few users. If it lasts hours, then you have to solve it. After the rollout is complete, then reload is fine. It's a bit user hostile but they will reload into a usable state.
- yawaramin 2y agoIf a webapp rollout lasts hours, you have a much bigger problem than skew which needs to be addressed urgently.
- esprehn 2y agoFor most large scale apps (web or native) rollouts take multiple hours or even days. Ramps are slow to avoid widespread incidents and allow canary analysis to detect issues.
- yawaramin 2y agoIf you are at that scale then surely you put up some load balancers which can look at the client request (eg a request header `Accept-Version: abc123` or whatever) and route it to the correct backend server that can handle the request. If you're not at that scale ie if your app deploys in a few seconds then just forcing a reload seems like a perfectly feasible strategy.
- ricardobeat 2y agoStickiness at the load balancer level helps mitigate these issues.