Skip to content

SYSTEM Cited by 4 sources

HashiCorp Consul

Consul is HashiCorp's service-discovery + KV store. Uses Raft for consensus over the KV store and a SWIM-based gossip layer (Serf) for membership.

The wiki tracks Consul where it appears as a load-bearing substrate — or, more often at Fly.io, a rejected one.

Seen in

  • sources/2025-10-22-flyio-corrosion — Consul as the thing Fly.io originally built global routing on, and the thing Corrosion replaced. "For longer than we should have, we relied on HashiCorp Consul to route traffic. Consul is fantastic software. Don't build a global routing system on it. Then we built SQLite caches of Consul. SQLite: also fantastic. But don't do this either." Fly's Consul cluster "running on the biggest iron we could buy, wasted time guaranteeing consensus for updates that couldn't conflict in the first place" — the canonical anti-pattern for WAN Raft. Consul also appears as the perpetrator of an uplink-saturation outage: a Consul mTLS certificate expiry severed every worker's Consul connection; the backoff-loop retries on each worker re-invoked Machine-state code paths which wrote to Corrosion, saturating Fly's uplinks fleet-wide. Fly now runs Corrosion without Consul.

  • sources/2024-12-12-stripe-the-secret-life-of-dns-packets-investigating-complex-networks — Consul as the service-discovery substrate behind Stripe's DNS interface. Stripe's central Unbound DNS-resolver cluster has a forwarding rule that routes service-discovery domains to a Consul cluster; application code resolves service names via plain DNS. Different operational altitude from the Fly.io / Roblox instances — here Consul is the service-discovery backing store for a DNS-fronted naming abstraction, not the routing brain of a global fleet.

Also seen in

Last updated · 542 distilled / 1,571 read