- Alternativa open source de alto desempenho ao Kafka, escrita em Rust
- Plataforma distribuída de streaming de mensagens construída sobre um engine de armazenamento de logs de alto desempenho, oferecendo streaming estável e troca automática de líder
- Mantém a consistência dos metadados e oferece suporte à recuperação de falhas por meio do protocolo de consenso Raft
- Usa particionamento baseado em segmentos para distribuir a carga automaticamente e rotaciona a liderança em esquema round-robin
- Principais recursos
- Divide tópicos com sharding por segmento, e o nó líder de cada segmento é responsável pela escrita
- Write fencing baseado em lease permite que apenas um único líder escreva, evitando split-brain
- Rollover automático propõe mudanças de metadados e realiza troca de líder quando o segmento excede o tamanho limite
- O recurso Sealed Segment Reads permite ler diretamente de réplicas de dados antigos
- I/O de alto desempenho baseado em io_uring garante alta taxa de processamento em ambientes Linux
- Protocolo de cliente
- Usa protocolo de texto com prefixo de comprimento baseado em TCP
- Suporta criação de tópicos, envio e recebimento de mensagens e consulta de estado com os comandos
REGISTER, PUT, GET, STATE, METRICS
- Estrutura de comandos simples permite conectar a qualquer nó, com encaminhamento automático
- Características de desempenho
- Taxa de escrita: desempenho estável com estrutura de escritor único por segmento
- Taxa de leitura: escala proporcionalmente ao número de réplicas
- Latência: média em torno de 1 a 2 RTT
- Overhead mínimo de consenso: o Raft é aplicado apenas aos metadados, não ao caminho de dados
- Comparação de desempenho
- Kafka e RocksDB apresentam menor taxa de escrita e largura de banda em comparação
- Com fsync desativado, ultrapassa 1,2 milhão de operações por segundo; mesmo com ele ativado, mantém desempenho estável em nível semelhante
- Licença MIT
Ainda não há comentários.