Pergunta
Resposta
clickhouse-keeper em larga escala para milhares de serviços em um ambiente multitenant. Projetamos e desenvolvemos o Keeper para eliminar nossa dependência da implementação do ZooKeeper baseada em Java. O ClickHouse Keeper resolve várias desvantagens bem conhecidas do ZooKeeper e traz melhorias adicionais, incluindo:
- Snapshots e logs consomem muito menos espaço em disco graças a uma compressão mais eficiente
- Não há limite para o tamanho padrão dos pacotes e dos dados dos nós (no ZooKeeper, é 1 MB)
- Não há problema de overflow de
zxid(no ZooKeeper, isso força uma reinicialização a cada 2B transações) - Recuperação mais rápida após partições de rede devido ao uso de um protocolo de consenso distribuído melhor
- Usa menos memória para o mesmo volume de dados
- É mais fácil de configurar e não exige especificar o tamanho do heap da JVM nem uma implementação personalizada de garbage collection
- Alguns comandos personalizados no protocolo permitem operações mais rápidas em tabelas
ReplicatedMergeTree - Maior cobertura nos testes do Jepsen
clickhouse-keeper em vez de ZooKeeper.
Confira a página de documentação do Keeper para mais detalhes sobre como configurar e executar o ClickHouse Keeper.