我在我的 Go 微服务中创建了一个 NSQ 生产者,我正在尝试创建一个方法,让它在 NSQ 重新启动后尝试重新连接。
我查看了 nsq 配置文档,希望看看我是否可以在重新启动/退出时提供故障转移方法,但我运气不佳。我将发布我如何创建我的 NSQ 生产者:
type ProducerNSQ struct {
p *nsq.Producer
}
func initConnectionNSQ() (*ProducerNSQ, error) {
config := nsq.NewConfig()
config.UserAgent = common.DeployedService()
config.BackoffMultiplier = time.Duration(time.Second * 10)
producer, err := nsq.NewProducer(dataConfig.NsqAddress, config)
if err != nil {
return nil, err
}
if err := producer.Ping(); err != nil {
return nil, err
}
return &ProducerNSQ{p: producer}, nil
}
非常感谢所有帮助!