Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If stripe people are around... Consul has a DNS interface built in[1], but I get the impression you're not using that... are the DNS servers in your setup just mirrors for the consul one?

[1] https://www.consul.io/docs/agent/dns.html



As explained they wanted to tradeoff consistency for availability. Surely using Consul DNS would be less available than an independent cluster of DNS servers?


Why is this a given? Because of the potential of Raft failovers blocking reads from Consul?


By default[0] a Raft failover will block DNS reads, since Consul forwards all DNS queries to the master, making it a single-point-of-failure.

However, Consul can be configured[1] to serve "eventually consistent" DNS queries, allowing follower nodes to respond with possibly outdated information, during the few seconds of a Raft failover.

Where I work, we've also set it up so that BIND acts as a front-end, caching responses from Consul for up to 60 seconds.

0: This apparently changed in 0.7, released last month, to make eventually consistent reads the default. I assume the version of Consul that Stripe is using predates this, as does the version my company runs in production.

1: https://www.consul.io/docs/agent/options.html#dns_config




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: