I have 6 different programs communicating with each others and each one deployed in a docker container. Three of them are deployed on one host, and the other three on another host, and both hosts are located in my LAN. Containers currently communicate through a GRE tunnel connect to the docker0 bridge. I have to say that I am not really fond of this solution because the overhead added by the tunnel has an impact on my programs performances.
Now I need to make some tests with my hosts being on two different LANs, each one getting access to the Internet through a gateway server and communicating with each other through the Internet.
What solution should I use to make my containers communicate given that I want to speed up my connection?
Could macvlan (no packet encapsulation required, if I understood correctly) be appropriate given that I do not work with a lot of containers or a simple NAT could do the trick?
Thanks for your help