分布式服务负载均衡与Raft共识机制实现
1. 负载均衡策略
解决发现和负载均衡问题可采用三种策略,具体如下:
| 策略 | 描述 | 优点 | 缺点 | 适用场景 |
| — | — | — | — | — |
| 服务器代理 | 客户端将请求发送给负载均衡器,负载均衡器了解服务器信息(通过查询服务注册表或自身作为服务注册表),并将请求代理到后端服务 | 可作为信任边界,控制请求摄入,网络受信任且可控 | 增加了中间环节,可能引入一定延迟 | 大多数场景,尤其是对客户端信任不足的情况 |
| 外部负载均衡 | 客户端查询外部负载均衡服务,该服务了解服务器信息并告知客户端应将RPC发送到哪个服务器 | 可进行复杂且精确的负载均衡,掌握所有服务器和客户端数据 | 带来操作负担 | 对负载均衡精度要求极高的复杂场景 |
| 客户端侧负载均衡 | 客户端查询服务注册表了解服务器信息,选择要发送RPC的服务器,并直接将RPC发送到该服务器 | 减少延迟,提高效率,无单点故障 | 需要处理网络和安全问题,让客户端直接访问服务器 | 信任客户端,追求低延迟、高吞吐量的应用场景 |
1.1 各策略详细分析
- 服务器代理 :这是最常用的发现和负载均衡模式。多数服务器对客户端不够信任,因为客户端的负载均衡决策可能影响服务可用性。例如,客户端可能持续调用单个服务器直至其不可用。可在客户端和服务器之间放置代理作为信任边界,代理通过维护或调用服务注册表了解要代理的服务器信息。像AWS的Elastic Load Balancer(ELB)常用于平衡来自互联网的外部流量,它是服务端发现路由器的一个示例,传
超级会员免费看
订阅专栏 解锁全文
3046

被折叠的 条评论
为什么被折叠?



