具体来说,我有一个问题是什么是在AWS环境中组织AZ故障转移的推荐方法。此外,为了组织应用程序HA(高可用性),最好了解典型的AWS故障。 因此,应用程序架构(AWS服务使用)如下: 它在AWS中的典型Web应用程序架构
此类部署的主要缺点是服务在一个AZ中处于活动状态,因为在多可用区部署中,Amazon RDS会自动在不同的可用区中配置和维护同步备用副本。因此,master只在一个AZ中,另一个AZ中的服务不允许写入RDS,因为它处于待机状态。
两个问题:
关于此类方法的HA的考虑因素:
更新 维持一个活动AZ和一个被动AZ的另一个原因是我们的应用服务器应该支持设备IP地址的粘性(例如,它基于用户或设备的IP保持会话)。我们在每个AZ中都有1个EC2 Web服务器实例来维护它(我们不允许向不同的AZ发送请求)。
答案 0 :(得分:3)
我认为您误解了可用区域的工作原理。一个AZ中的服务可以连接到不同AZ中的RDS主服务器。您应该至少在2个AZ中运行所有服务。
对于RDS,当主设备发生故障或主设备处于关闭状态的AZ时,RDS服务将升级备用设备以主设备并更新RDS端点的DNS,以便端点指向新主设备。
为了处理RDS故障转移,您需要做的所有代码都是通过重试来优雅地处理突然的数据库断开连接。