I got an application made of micro-services currently running in a Docker Swarm. I would like to isolate some containers from others in order implement some segregation of services. These micro-services communicate with several protocols (http but not only).
ie. Isolating the persistance layer from from the front-end.
I first created multiple overlay networks in order to dispatch my services.
Then I tried to achieve layer 4 routing but I failed to make them communicate as they cannot rely on the docker service discovery (they are splitted on distinct overlays).
Then I succeed to make them communicate with a layer 7 router (NGINX) by attaching it to multiple overlays. As it works only for HTTP flows, it doesn't fit my needs.
Does someone can explain me how to achieve this inter-overlays communication ? Or did I have a wrong approach by creating multiple overlays to isolate my services?