通过与应用无关的缓存实现服务网格中的软熔断
网络与互联网体系结构
2021-04-07 v1 分布式、并行与集群计算
摘要
服务网格将处理微服务间通信的代码(如熔断)抽离出来。熔断执行目前仅限于“开/关”切换,即跳闸的熔断器会向调用微服务返回应用级错误以指示服务不可用。本文提出一种软熔断器执行器,其返回缓存数据而非错误。若组成微服务返回陈旧数据而非完全无数据,云应用的整体弹性将得到改善。尽管缓存被广泛用于服务 Web 流量,但其在微服务间通信中的使用尚显不足。微服务响应高度动态,这需要谨慎选择自适应生存时间缓存算法。我们通过两个实验评估我们的方法。首先,我们利用专门构建的服务量化了流量削减与数据陈旧性之间的权衡,从而识别出将数据陈旧性保持在约 3% 或更低、同时将网络负载降低至多 30% 的算法配置。其次,我们利用 Google Cloud 名为 Hipster Shop 的微服务基准量化了网络负载的削减。我们的方法实现了约 80% 请求的缓存。结果显示了我们方法的可行性与高效性,这鼓励在服务网格中将缓存实现为一种熔断执行器。
引用
@article{arxiv.2104.02463,
title = {Towards Soft Circuit Breaking in Service Meshes via Application-agnostic Caching},
author = {Lars Larsson and William Tärneberg and Cristian Klein and Maria Kihl and Erik Elmroth},
journal= {arXiv preprint arXiv:2104.02463},
year = {2021}
}