What is an efficient way to install an Akka cluster in a multi-user node Docker environment?

Suppose the image is below. Each Docker container belongs to one Akka "foo" cluster, and each container has one node cluster. The IP address assigned by Docker (inside the container) is highlighted in green. All internal ports are 9090, but are mapped to various external ports on the host.

enter image description here

What is the Akka URI for node in Docker 5? This will be akka.tcp: // foo@10.0.0.195 : 9101

I read several blogs on Akka and Docker that are related to binding, but this does not seem workable (?) For deploying multi-nodes, and I'm not sure how to tie scales to 100 nodes.

I need Akka to know the address of his cluster. Left on its own devices, Docker 5 may decide that it is available on akka.tcp: // foo@192.178.1.2 : 9090, which is useless / inaccessible outside its own container.

At this point, I think I am passing the host IP address and port (for example, 10.0.0.195:9101) to the Docker container as a parameter at startup to use Akka when it is being configured.

Will this work, or is there a better way to go?

+5
source share
1 answer

Really! The new Akka (snapshot at time of publication) has great new bindings that solve this problem. Usage example here: https://github.com/gzoller/docker-exp/tree/cluster

+1
source

Source: https://habr.com/ru/post/1209289/


All Articles