分布式缓存服务 DCS-使用Cluster的Redis集群时建议配置合理的超时时间
使用Cluster的Redis集群时建议配置合理的超时时间
客户端配置问题导致无法连接。
当集群实例备节点故障情况下,客户端使用SpringBoot + Lettuce的方式连接Redis,使用的Lettuce客户端在连接集群时,需要与所有节点先建立连接(包括故障节点)。
- 在未配置timeout超时的情况下,模拟备节点故障时,可能出现分钟级的超时阻塞(Lettuce客户端的老版本默认超时为120s,新版本默认为60s),配置如下图:
可能会导致端到端业务访问时间过长(最长达到默认超时时间),如下图所示:
- 在客户端侧添加timeout参数后,备节点超时时间大幅度缩短,并且可以根据客户自己的业务诉求进行调整,配置如下:
配置后查看端到端业务访问时间如下图所示:
因此在未配置timeout参数情况下,客户端在建立连接时,故障节点由于未配置timeout超时,在建立连接时会出现连接阻塞的情况。
建议:用户需根据业务能容忍的超时时间进行设置,例如在一次HTTP端到端请求中,需要请求两次Redis,而HTTP请求的最大超时时间为10s,则建议将超时时间配置为5s,防止由于超时时间过长或者未配置超时时间造成故障场景下的业务受损。
- 数据缓存_数据高并发_数据高可用-华为云
- 分布式缓存服务Redis优势_分布式缓存服务Redis_华为云
- 分布式缓存Redis版本差异_分布式缓存Redis有哪些版本_分布式缓存-华为云
- 分布式缓存服务Redis的安全能力_分布式缓存服务Redis的数据安全性
- Redis有什么作用_数据缓存_华为云Redis-华为云
- 分布式缓存服务Redis版_什么是分布式缓存
- 分布式缓存数据迁移_分布式缓存_数据迁移-华为云
- 分布式缓存Redis实战_Redis技术实战_分布式缓存-华为云
- 分布式缓存redis_分布式缓存技术_分布式缓存-华为云
- 自建Redis成本高怎么办_中间件_华为云Redis-华为云