2

我正在使用github.com/nsqio/go-nsqGo 包与NSQ一起工作,我遇到了以下问题。当生产者写一条消息时 - 它创建了一个主题,但没有创建一个频道,而且似乎 NSQ 服务器只是在没有频道时丢弃了一条消息。我不想丢失消息,也不想依赖消费者和生产者的启动顺序。所以一个可能的解决方案是在生产者端创建一个通道,这样当它写入时它不会丢弃消息。为了创建通道,我如何在不消费消息的情况下创建和销毁消费者?

序列

nsq.NewConsumer()
consumer.AddConcurrentHandlers()
consumer.ConnectToNSQLookupd()

可以消费

删除AddConcurrentHandlers导致错误

协议规范我看不出它应该怎么做,除了发送 SUB 后跟 CLS,但因为这是两个命令和非“原子”类型的操作 - 理论上可能会发生在两者之间..

所以可能我试图做错了吗?例如 RABBITMQ 可以预先创建它,这里是这样的吗?

4

0 回答 0