Redis sentinel vs agrupamento
eu entendo que o redis sentinel é uma forma de configurar o HA (alta disponibilidade) entre várias instâncias do redis. Como vejo, há uma instância redis servindo ativamente os pedidos dos clientes em qualquer momento. Há dois servidores adicionais em standby (esperando por uma falha acontecer, então um deles pode estar em ação novamente).
-
É desperdício de recursos?
Existe uma melhor forma de utilizar plenamente os recursos disponíveis?
- Is Redis clustering an alternativa ao Redis sentinel?
actualizar
Está bem. No meu verdadeiro cenário de implantação, tenho dois servidores dedicados à redis. Tenho outro servidor que o meu servidor Jboss está a correr. A aplicação em execução no Jboss está configurada para se ligar ao servidor mestre redis(M).cenário de falha
idealmente, eu acho que quando o servidor mestre de cache falha (ou o processo Redis cai ou falha da máquina) o aplicativo no Jboss precisa se conectar ao servidor de cache Slave. Como posso configurar os servidores redis para conseguir isso?
+--------+ +--------+
| Master |---------| Slave |
| | | |
+--------+ +--------+
Configuration: quorum = 1
4 answers
Actualização para pormenores:
Para uma boa gestão de falhas no teu cenário, diria 3 sentinelas, uma a correr no teu servidor JBoss. Se você tem 3 nós JBoss, em seguida, ir com um em cada. Eu teria um pod Redis (mestre + escravo) em nós separados, e deixar sentinel gerir o failover. A partir daí, é uma questão de ligar o JBoss / Jedis para usar o Sentinel para a sua informação e gestão de ligações. Como eu não uso isso uma busca rápida acontece que Jedis tem o suporte para isso, você só precisa configurá-lo corretamente. Alguns exemplos que encontrei estão em à procura de um exemplo de Jedis com Sentinel e https://github.com/xetorthio/jedis/issues/725 {[24] } que falam sobre {[[0]} ser o caminho para usar uma piscina. Quando o Sentinel executar uma falha, os clientes serão desligados e o Jedis irá.) lidar com a reconexão, perguntando aos Sentinelas quem é o atual mestre.A recomendação, em todo o lado, é começar com um número ímpar de instâncias, não usando dois ou um múltiplo de dois. Isso foi corrigido, mas vamos corrigir alguns outros pontos.
Primeiro, dizer que Sentinel fornece failover sem HA é falso. Quando você tem failover, você tem HA com o benefício adicional do Estado de aplicação sendo replicado. A distinção é que você pode ter HA em um sistema sem replicação (é HA, mas não é tolerante a culpa).Segundo, executar um sentinel na mesma máquina que a sua instância alvo redis não é uma "má configuração": se você perder o seu Sentinela, ou a sua instância redis, ou toda a máquina, os resultados são os mesmos. É provavelmente por isso que cada exemplo de tais configurações mostra ambos funcionando na mesma máquina.
Redis Sentinel é o nome da solução Redis de alta disponibilidade... Não tem nada a ver com o aglomerado Redis e destina-se a ser usado por pessoas que não precisam de Redis Cluster, mas simplesmente uma forma de actuar. falha automática quando uma instância principal não está a funcionar correctamente.
Retirado do projecto Redis Sentinel 1.3
Não é óbvio quando se é novo na Redis e na implementação da solução de falha. Documentação oficial sobre sentinel e agrupamento {[[9]} Os homens não se comparam entre si, por isso é difícil escolher o caminho certo sem ler toneladas de documentação.O aglomerado Redis é mais ou menos uma solução distribuída, trabalhando em cima de fragmentos. Cada pedaço de dados está sendo distribuído entre os nós mestres e escravos. Um fator de replicação mínimo de 2 garante que você tem dois cacos ativos disponíveis entre mestres e escravos. Se você conhece o sharding em Mongo ou Elasticsearch, será fácil de alcançar.