4 ms·
As explained they wanted to tradeoff consistency for availability. Surely using Consul DNS would be less available than an independent cluster of DNS servers?
by vemv 10y ago
As explained they wanted to tradeoff consistency for availability. Surely using Consul DNS would be less available than an independent cluster of DNS servers?
- techman9 10y agoWhy is this a given? Because of the potential of Raft failovers blocking reads from Consul?
- zackelan 10y agoBy 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 https://www.consul.io/docs/agent/options.html#dns_config