Por que preciso configurar o tempo limite para o Redis Cluster?
Se o tempo limite não estiver configurado, as conexões falharão.
Quando você se conecta a uma instância do Redis Cluster usando Spring Boot e Lettuce, conecte-se a todos os nós do cluster, incluindo réplicas defeituosas.
- Se o tempo limite não estiver configurado, o bloqueio em nível de minuto (120s em versões anteriores de Lettuce e 60s na nova versão) pode ocorrer quando há uma réplica defeituosa, como mostrado na figura a seguir.
O tempo de acesso ao serviço de ponta a ponta pode atingir o tempo limite máximo, conforme mostrado na figura a seguir.
- Depois que o parâmetro timeout estiver configurado no cliente, o tempo limite na réplica será muito reduzido. Você pode ajustar o tempo limite com base nos requisitos de serviço. Suponha que a configuração seja a seguinte.
A figura a seguir mostra o tempo de acesso ao serviço de ponta a ponta após a conclusão da configuração.
Se o parâmetro timeout não estiver configurado e houver um nó defeituoso, as conexões do cliente serão bloqueadas.
Configure o tempo limite com base no que o serviço pode tolerar. Por exemplo, se você precisar solicitar o Redis duas vezes em uma solicitação HTTP e o tempo limite máximo de uma solicitação HTTP for 10s, é recomendável definir o tempo limite no Redis para 5s. Isso evita a interrupção do serviço se ocorrerem falhas devido a uma longa duração de tempo limite ou nenhuma duração de tempo limite.