本设计指南解释了如何配置一个跨多个云区域的多个工作负载集群的高可用部署。
对于关键业务和大规模服务,可能需要在两个或多个区域部署,以实现可伸缩性和高可用性。本设计指南解释了如何使用 Tetrate 的 Edge Gateway 解决方案来实现这一目标。Edge Gateway 提供了一个高可用负载均衡代理的前端层,接收流量并将其转发到工作负载集群。
介绍 Tetrate Edge Gateway 解决方案
管理员可以通过多种方式配置其生产环境,以在两个或多个工作负载集群之间分发流量。
常见的高可用模式
对于简单的小规模部署,通常会看到几种模式:
-
全局服务器负载均衡(GSLB)。使用 GSLB 系统,每个工作负载集群都会被分配一个公共端点(IP 地址),并使用 DNS 控制将用户定向到哪个端点。GSLB 系统对每个端点执行健康检查,并将失败的集群排除在轮换之外,它还可以执行其他负载均衡措施,如接近路由(将客户端发送到最近的集群)或基于负载的路由(将客户端发送到性能最佳的集群)。 GSLB 解决方案通常使用 DNS 控制客户端分配到数据中心的方式。基于 DNS 的控制的缺点是客户端和中间服务器会缓存 DNS 条目一段时间,因此故障转移或重新分配不是立即发生的,客户端可能会因此而停机。
-
内容交付网络(CDN)。许多 CDN 能够在两个或多个“源”服务器之间平衡负载流量,并为基于 HTTP 的服务提供可靠的全球分布的前端。基于 CDN 的配置可以通过配置源服务器仅接受来自 CDN PoP(存在点)的流量来保护。 CDN 最适合可以缓存和全球分发的 Web 内容,其中管理员希望将负载降到最低并最小化页面加载时间。许多 CDN 的优化功能不适用于 API 或其他动态内容。
-
基于云的负载均衡器。在使用单一供应商的云解决方案时,你可能希望考虑你的云提供商的解决方案,以实现多区域高可用性。这类解决方案通常基于 DNS 操作(GSLB)和类似 CDN 的代理(例如 AWS CloudFront),它们可能提供了你对业务关键服务所需的可靠性、安全性和操作便利性。
Tetrate Edge Gateway
Tetrate 的 Edge Gateway 是部署在前端的代理,用于管理流量并将其分发到多个后端工作负载集群。它与 Tetrate 管理平面紧密集成,提供了一个有效且简单的用户体验,并可扩展到非常大量的集群、区域和流量级别。
特别是 Edge Gateway 部署模式:
- 支持公共和私有 IP 地址,必要时从公共到私有进行桥接。Edge Gateway 部署可以减少公共 IP 端点的数量,从而减少攻击面和可能的成本
- 整合了工作负载集群入口网关的功能,将其前置并接近客户端。在 Edge 上执行速率限制或授权可以减轻工作负载集群的负载
- 保护整个数据路径,从第一个 Edge Gateway 到目标服务,使用 Tetrate 的 mTLS 和隧道功能
- 可以进行优化,以减少故障转移时间并在故障转移情况下消除不必要的跳数
使 Edge Gateway 具有高可用性
Edge Gateway 模式是一个双层模式,其中 Edge Gateway 提供第一层负载均衡,位于工作负载集群中的入口网关的第二层。
Edge Gateway 管理工作负载集群中的故障转移,你可以使用上述任何解决方案,例如基于 DNS 的 GSLB 解决方案,来管理(较不频繁的)边缘故障转移。
在本设计指南中
本设计指南解释了如何从多个区域提供关键服务,配置优化了高可用性和可伸缩性。初始设计的解决方案简要如下:
- 两个单独的云区域,可能跨越多个不同的云提供商
- 一个接收互联网流量的“Edge Gateway”
- 两个“工作负载集群”,一个位于每个区域中,托管命名服务
- 一个单一的命名服务,通过单一的 DNS 名称访问
- 一个第三方 DNS 服务,将流量分发到 Edge Gateway
请从入门文档开始创建此示例部署。