我们在之前的游戏方案模块有一个话题是谷歌云的基础架构在游戏场景中的独特优势,里面介绍了 Google Cloud Load Balancing 所扮演的重要角色,有兴趣的小伙伴可以重温一下。(点此复习)那到底是什么是 Cloud Load Balancing ?
Cloud Load Balancing 是一种全分布式的负载平衡解决方案,可以将用户流量 (HTTP)、HTTPS/2 与 gRPC、TCP/SSL、UDP 和 QUIC 均衡到多个后端,以避免拥塞、减少延迟、提高安全性和降低成本。
Cloud Load Balancing 构建在与谷歌相同的前端服务基础设施上,支持每秒 100 多万次查询,并且具有一致的高性能和低延迟。
Cloud Load Balancing 如何工作
外部负载均衡
这里有一个场景可供理解。加入我们有一个客户身处加利福尼亚。我们可以在该区域部署前段实例并配置一个负载均衡的 Virtual IP,当我们的用户扩展到其他区域时,我们只需在其他区域创建实例即可,这时的 Virtual IP 和 DNS 的位置都是没有变化的。
当我们的应用逐渐走向全球,我们同样可以复用这个模式。如来自印度的玛雅人的访问会被路由到离他最近的印度实例,如果印度的实例过载并自动扩缩以处理负载,在此期间,该访问会被无缝重定向到其他路由并在印度实例扩展到可以处理时路由回印度。(这是一个第7层外部负载均衡的例子)
内部负载均衡
在任何3层应用程序中,前端之后都有中间件和数据源进行交互,以满足客户需求。这也是我们需要在前端与其他内部层之间进行第4层内部负载均衡的地方。第4层内部负载均衡适用于RFC 1918 VIP 后面的 TCP/UDP 流量,其中保留了客户端 IP。
我们还会获得自动健康检查,并且没有中间代理,这是因为使用了 SDN 控制和数据平面进行负载平衡。
与其他服务的无缝集成
Google Cloud HTTP(S) Load Balancin 的关键特性之一是跨多个不同后端类型的负载均衡,而无服务器 NEG 的集成对此进行了改进:负载平衡器的 URL 映射现在可以将无服务器 NEG 与其他后端类型混合。例如,外部 IPv4 和 IPv6 客户端可以使用相同的基本 URL 以及路径 /catalog、/queries、/video 和 /images 来请求视频、API 和图像内容。通过负载均衡器的 URL 映射,对不同路径的请求被路由到不同的后端:
如何使用全球 HTTP (S)Load Balancing
如何使用 Cloud Load Balancing 保护你的应用程序
借助 HTTPS 和 SSL 代理负载平衡,你可以使用托管证书,Google 负责提供和管理 SSL 证书的生命周期。
在决定哪个负载平衡选项适合自己的使用案例时,需要考虑以下因素:内部与外部、全球与区域以及流量类型(HTTP、TLS 或 UDP。如果想要更详细的了解 Cloud Load Balancing,可以访问下方参考文档。
参考文档: https://cloud.google.com/load-balancing/docs