问题描述
我希望节点将自己的 ip 添加到列表中的某个键,以便加入集群的其他节点可以发现它们。 使用受支持的 CloudMap 注册来执行此操作的问题似乎不是很动态。我希望列表最初是空的(对于第一个节点),然后适当地增长或缩小。
解决方法
-
您可以为此拥有一个 Daemon ECS 服务(不是在副本模式下)。这确保您的程序始终在 ECS 容器实例启动后运行。
-
然后您可以启用容器 meta-data 以获取 HostPublicIPv4Address。
-
并使用 AWS 开发工具包发布到您想要的任何商店。
尝试此操作后,发现多个实例出现时总是存在重叠。所以最好使用合适的数据库(有事务支持的)来存储这些IP。这样两个Daemon进程就可以争夺DB锁了。