Hacker News new | ask | show | jobs
by scanr 4015 days ago
Instead of nginx, we've had a pretty good experience using vulcand (https://github.com/mailgun/vulcand) as the front-end router for our micro-services.
1 comments

Any reason(s) for switching to Vulcand rather than NginX ?
First off, nginx is awesome and you can do all the things we did with vulcand with nginx, so it was just a question of friction.

The reason we went with vulcand is that it natively supports what we wanted to do i.e. route to micro-services based on dynamic etcd driven configuration. To do the same thing in nginx (at the time), we would have either had to use confd or custom lua.

We actually looked at VulcanD in an older version of Empire. When we decided to use a routing layer with this version of Empire, rather than just letting Empire/ELB expose each service (mostly because it is a lot easier for us to later shut off public access to each service) we threw together nginx because it was so simple.

I think at this point everytime we move a service we add like 5 lines to an nginx config, re-deploy the router in Empire, and the service is exposed.

The internal 'service discovery' makes this a lot easier, since we just have to tell nginx to route to http://<app_name> - no domain, no port, nothing more than the app_name thanks to DNS/resolv.conf search path & ELB stuff.