在多节点的Docker环境中设置Akka集群有什么可行的方法?

假设下面的图片。 每个Docker容器都属于一个Akka集群“foo”,每个容器都运行一个集群节点。 Docker(容器内)分配的IP地址为绿色。 所有内部端口都是9090,但映射到主机上的各种外部端口。

在这里输入图像说明

Docker 5中节点的Akka URI是什么? 会不会是akka.tcp://foo@10.0.0.195:9101

我读过Akka和Docker上的一些涉及链接的博客,但对于多节点部署来说这似乎不可行(?),我不确定如何链接到100多个节点。

我需要一些方法让Akka知道它的集群地址。 留在自己的设备,Docker 5可能会决定它可以在akka.tcp://foo@192.178.1.2:9090,这是在自己的容器外无用/无法访问。

在这一点上,我想我将主机的IP和端口(例如10.0.0.195:9101)传递给Docker容器,作为启动时的一个参数,供Akka在configuration时使用。

这会工作,还是有更好的方式去?

确实! 新阿卡(发布时的快照)确实有很好的新的绑定,可以解决这个问题。 使用示例: https : //github.com/gzoller/docker-exp/tree/cluster

Interesting Posts