Skip to main content

Fabio

Fabio é um proxy reverso HTTP(S) e TCP de alto desempenho, projetado para ser simples, rápido e moderno com balanceamento de carga.

Nos sistemas da Ema, o serviço legítimo de balanceamento de carga é executado sob o nome fabio.exe, integrado ao Consul e fundamental para a comunicação entre os micro serviços.

Ele foi criado para facilitar a implantação, atualização e refatoração de aplicações integradas ao Consul, eliminando a necessidade de configurações manuais complexas.

Principais Características

  • Integração nativa com o Consul: basta registrar os serviços e configurar health checks. O Fabio automaticamente descobre e roteia o tráfego.
  • Zero configuração: não é necessário editar arquivos de configuração para adicionar ou remover serviços.
  • Balanceamento de carga inteligente: distribui o tráfego entre os serviços de forma automática.
  • Alta performance: comprovado em produção, processando mais de 23.000 requisições/segundo desde 2015 sem falhas.
  • Confiabilidade em escala: utilizado em grandes sites, como o gumtree.com.au, garantindo estabilidade e disponibilidade contínuas.

Benefícios

  • Reduz complexidade de implantação de microsserviços.
  • Escalabilidade sem esforço.
  • Atualizações contínuas sem interrupções.
  • Menos dependência de configuração manual, mais foco em desenvolvimento.

Por que "Fabio"?

De acordo com o desenvolvedor, o nome Fabio surgiu de maneira eventual e sem muitas pretenções:

Quando eu estava escrevendo Fabio, meu filho assistia "Procurando Nemo" quase todo dia e Dory continuava errando o nome de Nemo. Um dos nomes que ela o chamava era "Fábio". Daí o nome.

Mantenedor

O Fabio foi desenvolvido e mantido por Frank Schröder até janeiro de 2020. Desde essa data, a manutenção primária tem sido responsabilidade da ENA e da grande comunidade de usuários.

Ele foi originalmente desenvolvido no eBay Classifieds Group em Amsterdã, Holanda.


👉 Código-fonte e documentação completa: GitHub - fabiolb/fabio