cuducos / minha-receita

🏢 Sua API web para consulta de informações do CNPJ da Receita Federal
https://minhareceita.org
MIT License
1.33k stars 132 forks source link

Database em failover ou loadbalancer #264

Closed mbkcontabilidade closed 4 days ago

mbkcontabilidade commented 4 days ago

Boa noite!

Temos três LXC no Proxmox no momento:

2x PostgreSQL 1x Ubuntu 22.04 (onde esta instalado minha-receita com go 1.22)

Rodei o transform nas duas e coloquei o database_url .bashrc para ambas (no final, como export DATABASE_URL=) entretanto, ao rodar alguns testes, se tiro a primeira database do ar, a API nao puxa a segunda.

Existe alguma forma de implementar esse fail-over (uma das databases roda em sas nvme, a outra em sas hdd, entao primariamente usariamos a nvme e apenas em caso de update faria fail-over para a outra)? Sou pouco familiarizado com go. No momento, to rodando duas API e colocando o fail-over em codigo nos scripts que usam o minha-receita, mas gostaria de saber se existe a possibilidade de centralizar como parte do pacote minha-receita, ou se faria mais sentido partir para HAProxy ou PgBouncer pra fazer um load-balance/fail-over delas.

cuducos commented 4 days ago

Eu acredito que isso seja mais uma configuração da tua arquitetura do que do projeto (como você mesmo falou, um load balancer ou algo assim).

Contexto: pPara manter o projeto, um dos calos é subir/manter o banco de dados — ver, por exemplo, #261. Fazer isso 2x não está nos planos nem é prioridade. Claro, contribuições nesse sentido serão bem-vindas, mas não creio que iso faça parte dos objetivos principais do Minha Receita nesse momento.