eddatt opened a new issue, #1176:
URL: https://github.com/apache/rocketmq-client-go/issues/1176

   您好,我有以下使用场景:
   多实例拉取消费,每条消息全局仅消费一次,并且顺序消费
   比如有10条消息,ID:0-9,当前两个实例,希望每个实例能每次拉取都获得下一个全局未消费的消息,理想情况下,id 02468被一个实例消费,id 
13579 被另一个实例消费
   
   我按照文档尝试:
   1.poll 方法:两个实例情况下,一直只会有一个实例在消费,另一个实例完全拿不到消息
   2.pull 方法:两个实例情况下,一个实例会重复获取同一条消息,不知道怎么ack
   3.pullfrom 
方法:rmq配置3broker,每个broker两个queue情况下,生产的消息只会打到6个中的一个(很奇怪),然后我pullfrom 
会调用6次,每次设置1s超时(这个遍历一遍的成本很高),两个实例情况下,这两个实例都能拿到全部消息,然后我用redis去重,保证每个消息只消费一次
   
   目前只有pullfrom 6次+redis方法跑通了要求,但是额外耗时太高了,我觉得是不是哪里没有用对,小白求教,十分感谢
   
   这里是创建consumer代码:
   `nameServer, err := primitive.NewNamesrvAddr(NameServerAddr)
        if err != nil {}
        newPullConsumer, err := rocketmq.NewPullConsumer(
                consumer.WithGroupName(GroupName),
                consumer.WithNameServer(nameServer),
                consumer.WithAutoCommit(true),
                consumer.WithConsumerModel(consumer.Clustering),
                consumer.WithMaxReconsumeTimes(1),
        )`
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@rocketmq.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to