多集群应用部署与应用组织指南
1. 负载均衡与多集群应用状态管理
1.1 任播网络与负载均衡层级
在网络中,任播网络利用核心路由协议从互联网多个位置进行通告。传统观念里,一个 IP 地址映射到一台单一的机器,但在任播网络中,IP 地址实际上是一个虚拟 IP 地址,它会根据你的网络位置被路由到不同的地方。流量会基于网络性能的距离而非地理距离被路由到“最近”的位置。任播网络通常能产生更好的效果,但并非在所有环境中都可用。
在设计负载均衡时,还需考虑是在 TCP 层还是 HTTP 层进行负载均衡。对于基于 Web 的应用,在 HTTP 层进行负载均衡有显著优势。如果你开发的是基于 HTTP 的应用(如今大多数应用都是如此),使用全局感知 HTTP 的负载均衡器能让你了解更多客户端通信的细节。例如,可以根据浏览器中设置的 cookie 来做出负载均衡决策。此外,感知协议的负载均衡器能做出更智能的路由决策,因为它能看到每个 HTTP 请求,而不只是 TCP 连接上的字节流。
无论选择哪种方法,最终服务的位置会从全局 DNS 端点映射到代表服务入口点的一组区域 IP 地址。这些 IP 地址通常是 Kubernetes 服务或入口资源的 IP 地址。一旦用户流量到达该端点,就会根据应用的设计在集群中流动。
1.2 多集群应用的状态管理
解决负载均衡问题后,设计多集群应用的下一个挑战是考虑状态。理想情况下,应用不需要状态,或者所有状态都是只读的。在这种情况下,支持多集群部署所需做的工作很少。可以将应用分别部署到每个集群,并在顶部添加负载均衡器,多集群部署就完成了。然而,对于大多数应用来说,必须以一致的方式在应用的副本之间管理状态
超级会员免费看
订阅专栏 解锁全文
1万+

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



