Consistent Updates for Scalable Microservices
Devora Chait-Roth, Kedar S. Namjoshi, Thomas Wies
Abstract
Online services are commonly implemented with a scalable microservice architecture, where isomorphic workers process client requests, recording persistent state in a backend data store. To maintain service, modifications to service functionality must be made on the fly - i.e., as the service continues to process client requests - but doing so is challenging. The central difficulty is that of avoiding inconsistencies from mixed-mode operation, caused by workers of current and new versions interacting via the data store. Some update methods avoid mixed-mode altogether, but only at the cost of substantial inefficiency - by doubling resources (memory and compute), or by halving throughput. The alternative is an uncontrolled “rolling” update, which runs the risk of serious service failures arising from inconsistent mixed-mode behavior. Ideally, it should appear to every client that a service update takes effect atomically; this ensures that a client is not exposed to inconsistent mixed-mode behavior. In this paper, we introduce a framework that formalizes this intuition and develop foundational theory for reasoning about update consistency. We apply this theory to derive the first algorithms that guarantee consistency for mixed-mode updates. The algorithms rely on semantic properties of service actions, such as commutativity. We show that this is unavoidable, by proving that any semantically oblivious mixed-mode update method must allow inconsistencies.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Builds on4
- Gandalf: An Intelligent, End-To-End Analytics Service for Safe Deployment in Large-Scale Cloud InfrastructureZe Li, Qian Cheng, Ken Hsieh, Yingnong Dang et al.NSDI 2020 · 69 citations
- Understanding and Detecting Software Upgrade Failures in Distributed SystemsYongle Zhang, Junwen Yang, Zhuqi Jin, Utsav Sethi et al.SOSP 2021 · 40 citations
- Algorithms for In-Place, Consistent Network UpdateKedar S. Namjoshi, Sougol Gheissi, Krishan K. SabnaniSIGCOMM 2024 · 5 citations
- Veracity: declarative multicore programming with commutativityAdam Chen, Parisa Fathololumi, Eric Koskinen, Jared PincusOOPSLA 2022 · 2 citations
Related papers
- SemantiX: A Compatibility Checker between Applications and Compositions of Distributed SystemsYifei Sun, Ji-Yong ShinISSTA 2026
- Extending Intel-x86 consistency and persistency: formalising the semantics of Intel-x86 memory types and non-temporal storesAzalea Raad, Luc Maranget, Viktor VafeiadisPOPL 2022 · 24 citations
- UniStore: A fault-tolerant marriage of causal and strong consistencyManuel Bravo, Alexey Gotsman, Borja de Régil, Hengfeng WeiUSENIX ATC 2021 · 1 citation
- Antipode: Enforcing Cross-Service Causal Consistency in Distributed ApplicationsJoão Ferreira Loff, Daniel Porto, João Garcia, Jonathan Mace et al.SOSP 2023 · 5 citations
- Regular Sequential Serializability and Regular Sequential ConsistencyJeffrey Helt, Matthew Burke, Amit Levy, Wyatt LloydSOSP 2021 · 4 citations
