![由于不知道 IP 地址,我如何访问自动扩展数据库服务器](https://linux22.com/image/663995/%E7%94%B1%E4%BA%8E%E4%B8%8D%E7%9F%A5%E9%81%93%20IP%20%E5%9C%B0%E5%9D%80%EF%BC%8C%E6%88%91%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AE%E8%87%AA%E5%8A%A8%E6%89%A9%E5%B1%95%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我把web servers
和放在db servers
不同的自动缩放组中。
自动缩放组中的机器将被动态添加或删除。
因此,我不知道数据库服务器的 IP 地址是多少
在 AWS 下实现此目的的常见方法是什么
答案1
这里工作的一般原则称为“服务发现”。有很多不同的方法可以实现它。以下是一些方法:
- 在任何特定时间查询 EC2 API 以获取组中的机器列表。
- 让机器通过多种方式在 DNS 中根据一个通用 RR 名称进行注册;当您检索该名称的记录时,瞧!您将获得所有机器的列表。
- 使用众多“服务发现”服务之一,例如 zookeeper、etcd 或(我个人最喜欢的)consul,它们保存机器列表(并且可以选择进行活跃度检查等),以供任何需要知道的人查询。
- 使用更高级别的、特定于应用程序的机制来确定成员资格。许多集群数据存储都这样做。您也可以构建自己的集群数据存储,可以直接使用网络 API,也可以在 ZeroMQ 等抽象层之上构建。