4 ms·
https://www.haproxy.com/blog/dns-service-discovery-haproxy/ https://www.haproxy.com/blog/dns-service-discovery-haproxy/ (which is a link on the OP) says TTL on
by tomfitz 9y ago
https://www.haproxy.com/blog/dns-service-discovery-haproxy/ https://www.haproxy.com/blog/dns-service-discovery-haproxy/ (which is a link on the OP) says TTL on SRV records "is ignored by HAProxy as HAProxy maintains its own expiry data which is defined in the configuration".
Is this true for A records too?
If so, neither haproxy nor nginx expire cached A records.
Nginx Plus does, and a few nginx plugins do, however.
https://github.com/airbnb/synapse https://github.com/airbnb/synapse is a process that polls DNS, and updates haproxy config accordingly and SIGHUPs haproxy I've used synapse to solve this issue, but it's a moving piece I'd rather not have involved.
- bedis9 9y agoYes, cached A records get expired in HAProxy (both community and enterprise). HAProxy won't follow-up the TTL returned by the server. It's up to the administrator to decide how HAProxy should behave with DNS responses. From my point of view, you don't need synapse any more if your usage of synapse is limited to this single feature.
- vidarh 9y agoWhile I'm excited to be able to use haproxy for this, one alternative on nginx is to store the hostname you want looked up dynamically in a variable, and use that variable in a proxy_pass directive or equivalent. E.g. "proxy_pass http://$backend:80;" http://$backend:80;" will cause Nginx to pass the value $backend to any resolver you have defined dynamically without needing Nginx Plus.