Mestre estático na replicação Redis

3

Estou executando o Redis replicado que inclui um mestre e apenas um escravo. Meu objetivo é implementar uma replicação (usando sentinelas Redis), na qual o escravo se torna mestre quando o mestre desce, mas, além disso, o antigo mestre é promovido de volta quando se recupera.

A configuração inicial é fácil. Estou usando um sentinela no mesmo servidor mestre e duas sentinelas no servidor com escravo. Com quorum de dois, os dois sentinelas no servidor escravo promovem o escravo para dominar quando o mestre não está disponível. Quando o antigo mestre volta, ele se reconecta ao antigo escravo (que foi promovido como mestre) e se torna seu escravo.

Depois disso, continue como de costume. Exceto eu gostaria de promover o escravo (antigo mestre) para dominar o jeito que estava no layout original. Isso pode ser feito manualmente com o redis-cli (e, conseqüentemente, com o cron, eu acho), mas existe algum meio de fazer isso com a configuração do sentinela ou algum outro método diferente do brute cronjob? Minha intenção é basicamente ter um mestre estático que seja suportado pelo escravo, que retorna o status do mestre quando o mestre original estiver disponível novamente.

    
por empe 25.11.2013 / 09:05

2 respostas

3

Atualmente, não há nenhum mecanismo para o retorno ao mestre pretendido. O slave-priority pode afetar o que o escravo está selecionando quando o mestre está inativo, mas não fará com que os sentinelas iniciem um failback quando o mestre atual estiver em bom estado. Para que isso seja feito automaticamente, você precisará implementá-lo fora do sentinela.

    
por 26.11.2013 / 07:40
1

Para lidar automaticamente com a eleição mestre automaticamente, você pode tentar as seguintes soluções:

por 26.11.2013 / 14:34