A primeira versão do pgbalancer, um balanceador de carga para PostgreSQL com inteligência artificial, API REST e suporte a MQTT, foi lançada. O pgbalancer oferece pool de conexões e balanceamento de carga para PostgreSQL, é gerenciado via HTTP e suporta streaming de eventos em tempo real. O projeto é um fork do pgpool-II com melhorias significativas para roteamento inteligente de requisições. O código é escrito em C e distribuído sob a licença de código aberto do PostgreSQL.
Principais características e funcionalidades:
- Agrupamento de conexões e balanceamento de carga.
- Failover automático com suporte a temporizador watchdog.
- Monitoramento de desempenho e cache de consultas.
- Autenticação SSL/TLS, PAM/LDAP.
- Compatível com PostgreSQL 13-18.
- Faz parte das ferramentas de alta disponibilidade do pgElephant. Pode ser integrado ao pgraft para consenso Raft e suporta o monitoramento do pgSentinel.
- Balanceamento de carga com inteligência artificial.
- Algoritmos de aprendizado de máquina para roteamento inteligente de requisições.
- O treinamento é ajustado dependendo do tempo de resposta das solicitações e da disponibilidade de recursos. servidor.
- O estado é avaliado em tempo real e o balanceamento de solicitações é previsto.
- Parâmetros de ponderação configuráveis para taxa de aprendizagem e taxa de acerto aleatório de eventos.
- Possibilidade de integração com as plataformas de monitoramento Prometheus e Grafana.
Gerenciamento via API REST.
- 17 funções HTTP/JSON para gerenciamento completo do cluster.
- Servidor de API integrado em execução na porta 8080.
- Autenticação com tokens JWT HMAC-SHA256.
- Obtenção de estatísticas e métricas sobre o estado do modo de execução.
- Tempo de resposta inferior a 10 ms.
Transmissão de eventos MQTT.
- O MQTT é usado para publicar alterações no estado dos nós, failover e verificações de integridade dos recursos em tempo real.
- Você pode configurar tópicos MQTT para diferentes tipos de eventos.
- Integração com Mosquitto, EMQX ou qualquer broker MQTT.
- Fornece notificação automática de eventos anormais e um canal de transporte para orquestração de clusters.
- Utilitário de linha de comando bctl:
- Uma única interface que substitui mais de 10 comandos "pcp_*" separados.
- 3 formatos de saída: tabelas, JSON ou formato não modificado.
- Saída de tabelas formatadas com frames para dados de tempo de execução do pgbalancer.
- Controle remoto e modo de saída estendido.
- Fluxo de trabalho do GitHub Actions:
- build-matrix.yml: Сборки на нескольких платформах (Ubuntu, macOS, Rocky Linux).
- Suporte para PostgreSQL 13-18.
- DEB-пакеты для Ubuntu 22.04 / 24.04, Debian 11 / 12.
- RPM-пакеты для Rocky 9, AlmaLinux 9, CentOS Fluxo 9.
- Suporte do Autotools com integração de autoreconf
- docs.yml: Implantação da documentação do GitHub Pages.
Fonte: opennet.ru
