nchan_redis_retry_commands_max_wait
指令 'nchan_redis_retry_commands_max_wait' 设置 Nchan 的 pub/sub 消息系统中重试 Redis 命令的最大等待时间。
Scalable, flexible pub/sub server for the modern web
·
upstream
语法nchan_redis_retry_commands_max_wait time;
默认值none
上下文upstream
参数1
说明
'nchan_redis_retry_commands_max_wait' 指令用于控制在尝试对 Redis 后端重试命令时 Nchan 将等待的最长时长。在 Redis 可能暂时不可用或出现延迟问题的场景中,这一点尤其有用。当命令失败时,系统会自动重试该命令,直到命令成功或超过该最大等待时间为止。
为该指令指定的值应为时间跨度(持续时间),可以用秒表示或使用简写表示法(例如 '1s'、'500ms')。该指令是 pub/sub 架构中实现弹性的一个重要方面,可确保与 Redis 的短暂错误不会导致永久性故障或消息投递丢失。如果超过等待时间阈值,Nchan 会记录错误并可能中止该操作。
要优化使用此指令,需要了解 Redis 后端的常规延迟和性能特性,以便设置一个在提高弹性与避免引入过度消息处理延迟之间取得平衡的合适超时时间值。
配置示例
upstream backend {
nchan_redis_retry_commands_max_wait 1s;
server 127.0.0.1:6379;
}⚠
将此值设置得过高可能会在高峰时段造成长时间延迟,影响消息传递性能。
⚠
未指定该值或使用非标准格式可能会在配置重载时导致语法错误。