中文

用于微信微服务扩缩容的过载控制

分布式、并行与集群计算 2018-12-27 v3

摘要

大规模在线服务系统的高效过载控制对于保护系统后端免受过载至关重要。传统上,过载控制的设计是针对单个服务的临时方案。然而,由于复杂的服务依赖关系或服务实现存在缺陷,特定服务的过载控制可能对整体系统有害。服务开发者通常在服务开发期间难以准确估计实际工作负载的动态。因此,将过载控制与服务逻辑解耦至关重要。本文中,我们提出 DAGOR,一种为面向账户的微服务架构设计的过载控制方案。DAGOR 是与服务无关且以系统为中心的。它以微服务粒度管理过载,使每个微服务实时监控其负载状态,并在检测到过载时与相关服务以协作方式触发丢载。DAGOR 已在微信后端使用五年。实验结果表明,即使系统经历过载,DAGOR 也能令服务保持高成功率,同时确保过载控制中的公平性。

关键词

引用

@article{arxiv.1806.04075,
  title  = {Overload Control for Scaling WeChat Microservices},
  author = {Hao Zhou and Ming Chen and Qian Lin and Yong Wang and Xiaobin She and Sifan Liu and Rui Gu and Beng Chin Ooi and Junfeng Yang},
  journal= {arXiv preprint arXiv:1806.04075},
  year   = {2018}
}

备注

This version has updated the adaptive admission control algorithm by merging the errata published in v2