应用场景
比如,支付系统,支付成功之后,
1.记账
2.发消息通知商户
3.D0代付
单个队列-局部
官方是叫局部,局部其实不好理解
其实就是队列
而且是单个队列
说白了,就是只能确保单个队列的顺序
多个队列-全局
官方是叫全局,其实就是多个队列,怎么确保顺序
说实话,确保不了,还是只能通过只创建一个队列的情况下,才能确保顺序
也就是说,这里的全局,他妈就只有一个队列
既然只有一个队列,那也勉强实现了顺序
虽然这样能实现,但是不推荐这么玩
性能太低
说白了,就是不推荐用什么全局顺序
也就面试的时候,问一问
粒度
所以,顺序的粒度,是队列,而不是topic,更不是broker节点
与其记什么局部和全局,还不如记粒度
记住,RocketMQ只能解决单个队列的顺序
算法
发消息的时候,怎么找到同一个队列?
订单号取模。
具体怎么实现?
默认算法是按顺序
无非就是换一种路由算法而已
RocketMQ应该有现成的取模算法
实在没有,就自定义扩展一下
RocketMQ发消息,选broker节点的时候,默认也是按顺序算法。