首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在完全关闭后重新连接到NSQ

尝试在完全关闭后重新连接到NSQ
EN

Stack Overflow用户
提问于 2020-01-17 00:03:51
回答 1查看 121关注 0票数 0

我已经在我的Go微服务中创建了一个NSQ生成器,并且我正在尝试为它创建一个方法,以便在NSQ重启后尝试重新连接。

我查看了nsq配置文档,希望查看是否可以在重新启动/退出时提供故障转移方法,但我没有太多的运气。我将发布如何创建我的NSQ生成器:

代码语言:javascript
复制
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
}

非常感谢大家的帮助!

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 04:18:59

在goroutine中创建生产者,并拥有一个向其发送消息以进行发布的通道。在goroutine中有一个无限循环,从通道接收消息并尝试发送到NSQ,如果NSQ失败,请重新连接并重试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59773574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档