关于rocketmq的consummer的处理message的具体细节
老师你好:
上面是OrderTimeout的代码。
下面是我的几个疑问,逐条描述。
1、rocketmq的消费者是能一下子消费topic下的多条message吗?为什么OrderTimeout入参可以是多个message,而返回值只有一个状态comumer.ComsumerResult,难道处理多个message也是必须同时成功同时失败的吗?
2、OrderTimeout中函数 首先是 for range 遍历这些多个message,但是for range里遇到error就直接return了,后面的message不处理了?
3、感觉如果说consummer处理多个message,必须是同时成功同时失败。上面的问题就可以解释了。总之就是对consummer能一下子处理多个message的这个流程不太了解,一下子选择接收多少个message?为什么不是只接收一个?接收多个message然后在代码中开协程处理这些message提高并发?
30
收起
正在回答
1回答
rocketmq的consumer本地会一直不停的从服务器拉取消息,即使是push_consumer也是拉取消息,消息一次会拉取多个的,如果还要继续深入的话需要看一下源码了
Go开发工程师全新版
- 参与学习 489 人
- 解答问题 559 个
风口上的技术,薪资水平遥遥领先,现在学习正值红利期! 未来3-5年,Go语言势必成为企业高性能项目中不可替代的语言 从基础到项目实战再到重构,对转行人员友好,真正从入门到精通!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星