# Fabio

[<span style="white-space: pre-wrap;">Fabio </span>](https://fabiolb.net/)<span style="white-space: pre-wrap;">é um </span>**proxy reverso HTTP(S) e TCP**<span style="white-space: pre-wrap;"> de alto desempenho, projetado para ser </span>**simples, rápido e moderno** <span style="white-space: pre-wrap;">com </span>**balanceamento de carga.**

<span style="white-space: pre-wrap;">Nos sistemas da Ema, o serviço de balanceamento de carga é executado sob o nome </span>`<span class="editor-theme-code">fabio.exe</span>`, integrado ao Consul e fundamental para a comunicação entre os micro serviços.

<span style="white-space: pre-wrap;">Ele foi criado para facilitar a </span>**implantação, atualização e refatoração de aplicações**<span style="white-space: pre-wrap;"> integradas ao </span>**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**<span style="white-space: pre-wrap;">: comprovado em produção, processando mais de </span>**23.000 requisições/segundo**<span style="white-space: pre-wrap;"> desde 2015 sem falhas.</span>
- **Confiabilidade em escala**<span style="white-space: pre-wrap;">: utilizado em grandes sites, como o </span>**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

<span style="white-space: pre-wrap;">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 </span>[ENA](https://github.com/myENA)<span style="white-space: pre-wrap;"> e da grande comunidade de usuários.</span>

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

---

<span style="white-space: pre-wrap;">👉 Código-fonte e documentação completa: </span>[GitHub - fabiolb/fabio](https://github.com/fabiolb/fabio?utm_source=chatgpt.com)