Telavian
Telavian

Reputation: 3832

Microservices with dynamic ports

I have a series of microservices that I have been testing. Originally it was using Service Fabric however I have switched to using Consul, Fabio, Nomad which I like better.

In development on my machine things work well however I am running into some issues actually getting Fabio to work in a cluster format.

I have a cluster of 5 nodes each running Consul, Fabio, Nomad. Each service gets a dynamic port at runtime and successfully registers itself. On the node which the service is running Fabio correctly forwards traffic. However if the same fabio url is used on a different node then traffic is forwarded to the correct node/port however that is closed so the connection doesn't work.

For instance if ServiceA running on MachineA on port 1234 then http://MachineA:9999/ServiceA correctly works.
However http://MachineB/ServiceA fails after MachineA tries to initiate a connection to MachineB on port 1234.

A solution would be to add firewall rules, I would imagine, however this requires all the Services to run as Admin which I don't want.

Is there a way to support this through Fabio?

Upvotes: 2

Views: 232

Answers (0)

Related Questions