我把web servers
和放在db servers
不同的自动缩放组中。
自动缩放组中的机器将被动态添加或删除。
因此,我不知道数据库服务器的 IP 地址是多少
在 AWS 下实现此目的的常见方法是什么
答案1
这里工作的一般原则称为“服务发现”。有很多不同的方法可以实现它。以下是一些方法:
- 在任何特定时间查询 EC2 API 以获取组中的机器列表。
- 让机器通过多种方式在 DNS 中根据一个通用 RR 名称进行注册;当您检索该名称的记录时,瞧!您将获得所有机器的列表。
- 使用众多“服务发现”服务之一,例如 zookeeper、etcd 或(我个人最喜欢的)consul,它们保存机器列表(并且可以选择进行活跃度检查等),以供任何需要知道的人查询。
- 使用更高级别的、特定于应用程序的机制来确定成员资格。许多集群数据存储都这样做。您也可以构建自己的集群数据存储,可以直接使用网络 API,也可以在 ZeroMQ 等抽象层之上构建。