Estou tentando configurar um balanceador de carga interno do google TCP. O grupo de instâncias por trás desse lb consiste em processos de servidor-redis que estão escutando na porta 6379. Fora dessas instâncias de redis, apenas um deles é o mestre.
Problema : Adicione uma verificação de integridade TCP para detectar o mestre de redis e faça lb desviar todo o tráfego para apenas mestre de redis.
Abordagem :
Adicionada uma verificação de integridade TCP para a porta 6379.
Para enviar o comando role para o processo redis-server e analisar a resposta, estou usando os parâmetros opcionais fornecidos na verificação de integridade. Por favor, verifique a imagem aqui .
Resultado : a verificação de integridade está falhando para todos. Se eu remover os parâmetros de solicitação / resposta opcionais, a verificação de integridade começa a passar para todos.
Depuração :
role , ele envia a resposta começando com *3 (para mestre) e *5 (para escravo) conforme o esperado. nc -l -p 6379 para verificar exatamente o que está sendo recebido no lado da instância na verificação de integridade. Ele recebe role\r\n . MONITOR no redis-cli, para ver o log dos comandos recebidos por este processo. Aqui não há log de role .
Isso significa que a instância está recebendo os dados ( role\r\n ) sobre o tcp, mas não é recebida pelo processo redis-cli (conforme o comando MONITOR ) ou algo mais está acontecendo. Por favor ajude.