O que fazer se um cliente Lettuce 6.x for incompatível com minha instância de DCS?
Sintoma
Quando um cliente Lettuce 6.x é conectado a uma instância do DCS Redis 4.x/5.x do Proxy Cluster, a mensagem de erro "NOAUTH Authentication required" é exibida.
![Clique para ampliar](https://support.huaweicloud.com/intl/pt-br/dcs_faq/figure/pt-br_image_0000001200160792.png)
Análise
No Lettuce 6.x e versões posteriores, o comando HELLO do RESP3 (introduzido no Redis 6.x) é usado para determinar a adaptação da versão. Instâncias de versões anteriores que não suportam o comando HELLO podem encontrar problemas de compatibilidade. Para essas instâncias, você pode especificar o modo RESP2 (compatível com as versões 4 e 5 do Redis) em Lettuce.
Solução
Adicione o seguinte código para usar o protocolo RESP2 para acessar o Redis:
package com.chinaroad.parking.config; import io.lettuce.core.ClientOptions; import io.lettuce.core.protocol.ProtocolVersion; import org.springframework.boot.autoconfigure.data.redis.LettuceClientConfigurationBuilderCustomizer; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration; @Configuration public class SpringConfig implements LettuceClientConfigurationBuilderCustomizer { @Override public void customize(LettuceClientConfiguration.LettuceClientConfigurationBuilder clientConfigurationBuilder) { // manually specifying RESP2 clientConfigurationBuilder.clientOptions(ClientOptions.builder() .protocolVersion(ProtocolVersion.RESP2) .build()); } }
Cliente e conexão de rede Perguntas frequentes
- Como configurar um grupo de segurança?
- O DCS suporta o acesso público?
- O DCS oferece suporte ao acesso entre VPCs?
- Serei cobrado pelo EIP usado para acesso público a uma instância do DCS Redis?
- Por que "(error) NOAUTH Authentication required" é exibida quando eu acesso uma instância do DCS Redis?
- O que devo fazer se o acesso ao DCS falhar após a desconexão do servidor?
- Por que as solicitações às vezes esgotam o tempo nos clientes?
- O que devo fazer se um erro for retornado quando eu usar o pool de conexão Jedis?
- Como acessar uma instância do DCS Redis por meio do Redis Desktop Manager?
- O que acontece se "ERR Unsupported CONFIG subcommand" é exibido na SpringCloud?
- O que posso fazer se não conseguir acessar uma instância de DCS usando seu endereço de nome de domínio?
- É necessária uma senha para acessar uma instância? Como definir uma senha?
- Posso acessar instâncias de DCS em um ambiente local?
- O que deve ser observado ao usar o Redis para Pub/Sub?
- Por que o acesso público à minha instância do DCS Redis foi desativado de forma não intencional?
- O que posso fazer se o erro "Cannot assign requested address" for retornado ao acessar o Redis usando o connect?
- Seleção de pool de conexão e configurações de parâmetro Jedis recomendadas
- O que fazer se um cliente Lettuce 6.x for incompatível com minha instância de DCS?
- Devo usar um nome de domínio ou um endereço IP para conectar-se a uma instância do DCS Redis?
- O endereço somente leitura de uma instância principal/em espera está conectado ao nó principal ou em espera?
Feedback
Esta página foi útil?
Deixar um comentáriomore