本页面介绍如何配置asynq以利用Redis Sentinel来避免由于Redis故障而造成的停机时间。
先决条件
请阅读Redis Sentinel上的文档以了解该主题。
配置Asynq使用Redis Sentinels
配置asynq
的Client
和Server
以使用Redis Sentinel非常简单。使用RedisFailoverClientOpt
指定Redis主节点的名称和Redis Sentinel的地址。
var redis = &asynq.RedisFailoverClientOpt{
MasterName: "mymaster",
SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}
然后将此客户端选项传递给NewClient
和NewBackground
,以创建一个使用Redis Sentinels的实例。
client := asynq.NewClient(redis)
// ...
srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })
通过这种设置,当Redis主节点故障时,Sentinels将启动故障转移过程,并通知asynq
新的主节点,后台任务处理将继续正常工作。