Hi Justin, We do something similar with Synapse, here: https://github.com/airbnb/synapse
Two caveats: * there is no way to dynamically *add* backends to haproxy without a restart. Synapse uses the stats socket to put down backends in maintenance mode and bring them back up when the backend becomes available again, but every time a backend is added Synapse restarts haproxy * there's no connector yet for plugging Synapse into consul; this would need to be written. --igor On Thu, Jun 19, 2014 at 6:02 PM, Justin Franks <justin.fra...@lithium.com> wrote: > Hello, > > We are using Consul, written by the same guys who wrote Vagrant. Really > great tool. http://www.consul.io/ > > Consul is a service registry and discovery and DNS solution among other > things. > > I can create an internal name like 'some.thing.internal' which will > resolve to a pool of nodes. So when I do a 'dig + short > some.thing.internal' it will return > > IPaddressA > > IPaddressB > > IPaddressC > > etc... > > Consul keeps the list of nodes related to a particular URI up to date in > real-time. It uses health checks and so on and will round robin the traffic > to all the nodes evenly. But I want HAProxy too. > > So I want HAProxy to say, "I see a URI that resolves to N number of IP > addresses. I will add the addresses to the backend. I will keep polling the > URI. If the address change I will update the backend." > > How can I accomplish this? > > What are my options? > > A cron job to run 'dig + short some.thing.internal' every minute and send > that info to HAProxy for backend members? > > Unix sockets, ALCs and stick-tables? > > I just want the result that I described above done in real-time so HAProxy > restart not required. I don't care how it is accomplished. > > Thanks in advance for any ideas. > > > > > > > > > > ************************* > Justin Franks > Lead Operations Engineer > SaaS, Cloud, Data Centers & Infrastructure > Lithium Technologies, Inc > 225 Bush St., 15th Floor > San Francisco, CA 94104 > tel: +1 415 757 3100 x3219 >