Sobre o projeto
Kahuna é um cluster de servidores projetado para resolver problemas comuns de sistemas distribuídos: bloqueio distribuído, armazenamento chave/valor consistente e sequências de IDs ordenadas e idempotentes. Ele fornece aos desenvolvedores primitivas prontas para construir aplicações distribuídas confiáveis e escaláveis.
Principais capacidades:
- Bloqueio Distribuído: sincroniza o acesso a recursos compartilhados entre nós para evitar condições de corrida e manter a consistência dos dados.
- Armazenamento Chave/Valor: armazena e recupera dados estruturados em um cluster com tolerância a falhas e alto throughput, adequado para metadados, caches ou estado de aplicações.
- Sequenciador Distribuído: gera identificadores ordenados globalmente, úteis para bancos de dados, filas de mensagens e sistemas orientados a eventos.
Arquitetura:
Kahuna combina um motor de armazenamento escalável com consenso baseado em Raft. Os dados são organizados em partições gerenciadas independentemente. Ele usa Controle de Concorrência Multi-Versão (MVCC) para isolamento de snapshot, eliminando conflitos de leitura-escrita. Cada partição executa seu próprio grupo Raft para replicação e coordenação de escrita baseada em líder.
As transações usam commit de duas fases (2PC) com MVCC, suportando modos de controle de concorrência otimista e pessimista. O sistema escala horizontalmente por meio de divisão e redistribuição dinâmica de partições, e mantém a disponibilidade por meio de replicação Raft e recuperação automática.
Detalhes técnicos:
- Desenvolvido com .NET; disponível como ferramenta global (Kahuna.Server e Kahuna.Control).
- Portas: 2070 (HTTP/gRPC), 2071 (HTTPS), 2072 (gRPC em texto claro).
- Caminhos de armazenamento: Linux/macOS ~/.local/share/kahuna, Windows %LOCALAPPDATA%\kahuna.
- Suporta HTTPS via certificado e TLS mútuo para autenticação de nós.
- Kubernetes Operator (alfa) disponível para gerenciamento automatizado de cluster.
- Testado com Jepsen para correção sob partições de rede, falhas e desvio de relógio.
- Painel web incluído.
Licença: MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.