Parece bobagem comparar esses dois servidores, considerando que eles são feitos para coisas muito diferentes. Mas se você pensar bem, eles podem fazer muitas coisas semelhantes: armazenar dados de configuração, bloqueio distribuído, enfileiramento etc.
Eu tenho uma instância do Redis que estou usando para algumas coisas relacionadas à produção, mas gostaria de fazer uma sincronização simples entre servidores (principalmente alterações na configuração que não exigem push de código e bloqueio simples entre servidores). O que o tratador me dá que os Redis não dariam?
database
synchronization
redis
Jason Baker
fonte
fonte
Respostas:
Usamos Redis e Zookeeper no trabalho, portanto, isso é da primeira mão
Redis é rápido; muito, muito rápido. Também é imediatamente consistente, por isso é bom para conjuntos de dados em movimento rápido. A desvantagem é que, executando em um servidor, se ele falhar, você perderá o acesso de gravação até que outro servidor ocorra. Substituir o servidor é uma operação manual, a menos que você o automatize. (Você ainda pode obter acesso de leitura aos seus dados se configurar uma instância escrava).
O Zookeeper também apresenta consistência imediata. Não é nem metade do que é rápido, mas se recupera automaticamente (sempre que possível) diante de falhas, por isso, se você precisar de acesso contínuo de gravação, mesmo quando seus servidores falharem, convém usar o Zookeeper.
Meu conselho é: use o tratador de zoonos para coordenação: rastreando quais nós estão ativos, eleição do líder entre um grupo etc. Use redis para conjuntos de dados que precisam de gravações rápidas, mas onde a interrupção ocasional não é um desastre. Contadores de visitas para páginas da web, por exemplo.
fonte