问题描述
我的一个应用程序正在east region
中的服务器上的负载均衡器后面运行。我已经创建了相同应用程序的副本,并将其部署在west
区域中的服务器上
我的问题是,我可以使用两个负载均衡器实现高可用性吗? 像
我的想法:
- 在部署时复制代码:编写Jenkins脚本,无论何时在
west
区域中进行部署,该脚本都会触发一个deploy命令以将APP部署到east
区域。 - 检查主服务器/应用程序的运行状况:编写cron,它将检查
east
区域中的服务器是否已关闭 - 如果出现故障,则
一种。使用负载均衡器
PATCH
API,在EAST
区域中删除负载均衡器的映射。 b。使用负载均衡器PATCH
API,更新WEST
区域中的负载均衡器映射[以与以前的东部区域映射相匹配]
这些可行吗?
解决方法
请注意,每个专用负载均衡器在CloudHub中都有一个唯一的DNS主机名。证书使用者的通用名称属性必须与主机名匹配,以避免客户端中的SSL / TLS验证错误。
如果您打算为客户端进行透明的故障转移,这意味着下一个请求将通过LB-2,则您应该有一个与LB-1匹配的DNS CNAME record,并且需要指向LB-2。如果您没有DNS CNAME记录指向另一个专用的负载均衡器,则需要更改客户端URL以指向LB-2,并且需要确保证书中带有Subject Alternative Name LB-2主机名,因此对两者均有效。