The Tale of Errors in Microservices
Microservice architecture is the computing paradigm of choice for large, service-oriented software catering to real-time requests. Individual programs in such a system perform Remote Procedure Calls (RPCs) to other microservices to accomplish sub-tasks. Microservices are designed to be robust; top-level requests can succeed despite errors returned from RPC sub-tasks, referred to as non-fatal errors . Because of this design, the top-level microservices tend to ''live with'' non-fatal errors. Hence, a natural question to ask is ''how prevalent are non-fatal errors and what impact do they have on the exposed latency of top-level requests?'' In this paper, we present a large-scale study of errors in microservices. We answer the aforementioned question by analyzing 11 Billion RPCs covering 1,900 user-facing endpoints at the Uber serving requests of hundreds of millions of active users. To assess the latency impact of non-fatal errors, we develop a methodology that projects potential latency savings for a given request as if the time spent on failing APIs were eliminated. This estimator allows ranking and bubbling up those APIs that are worthy of further investigations, where the non-fatal errors likely resulted in operational inefficiencies. Finally, we employ our error detection and impact estimation techniques to pinpoint operational inefficiencies, which a) result in a tail latency reduction of a critical endpoint by 30% and b) offer insights into common inefficiency-introducing patterns.
Authors
- Milind Chabbi (ORCID: https://orcid.org/0000-0003-1021-7644)
- I-Ting Angelina Lee (ORCID: https://orcid.org/0000-0002-0687-5508)
- Zhizhou Zhang (ORCID: https://orcid.org/0000-0002-5517-6308)
- Abhishek Parwal
Institutions
- Washington University in St. Louis (US)
- Uber AI (United States) (US)
Publication Details
- Journal
- Proceedings of the ACM on Measurement and Analysis of Computing Systems
- Published
- 2024-12-10
- DOI
- https://doi.org/10.1145/3700436
- Citations
- 10
- Primary Topic
- Software System Performance and Reliability
- Type
- article
- Field-Weighted Citation Impact
- 3.49
Funders
- National Science Foundation