Fabio is a load balancer that automatically routes traffic to your services without requiring manual configuration. Think of it as a smart traffic cop that directs incoming requests to the right destination based on rules you define through service registration, rather than a static config file you have to maintain and redeploy. The way it works is straightforward: your services register themselves with Consul (a service registry tool) along with health checks and routing rules. Fabio watches Consul, picks up those rules, and immediately starts directing traffic. If a service goes down, Consul marks it as unhealthy, and Fabio stops sending traffic to it. If you deploy a new instance, Fabio sees it and starts routing requests automatically. This happens without restarting Fabio itself. You'd use this if you're running a modern infrastructure where services come and go frequently, think cloud deployments, microservices, or any setup where instances scale up and down. Instead of manually updating a load balancer config every time you deploy or roll back, your infrastructure stays in sync automatically. Fabio handles both HTTP and HTTPS traffic, as well as raw TCP proxying for databases or other protocols. It also supports advanced features like directing some traffic to a new version of your service ("blue/green" deployments) to safely test changes. Major sites like Marktplaats in the Netherlands and Gumtree in Australia have been using it to handle thousands of requests per second in production. It's built in Go, a compiled language known for speed and low overhead, which means it runs efficiently without consuming much CPU or memory. The whole setup is designed to be simple: no complex configuration language, no special setup required, just register your service in Consul and let it go.
← 42wim on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.