设计负载均衡器或 Dropbox 修补程序
· 阅读需 5 分钟
需求
互联网规模的网络服务处理来自全球的高流量。然而,单个服务器在同一时间只能处理有限数量的请求。因此,通常会有一个服务器集群或大型服务器集群来共同承担流量。问题来了:如何路由这些请求,以便每个主机能够均匀地接收和处理请求?
由于从用户到服务器之间有许多跳数和负载均衡器层,因此这次我们的设计要求是
- 在数据中心设计 L7 负载均衡器
- 利用来自后端的实时负载信息
- 每秒处理 10 万 RPS,10 TB 流量
注意:如果服务 A 依赖于(或消费)服务 B,则 A 是 B 的下游服务,而 B 是 A 的上游服务。
挑战
为什么负载均衡很难?答案是很难收集准确的负载分布统计数据并相应地采取行动。