mq
爱吃血肠
本人是个小小程序员,此博客一是为了激励自己学习,二是记录自己的学习历程,以方便及时回顾相关知识。
展开
-
RocketMq的一些细节
1: RocketMq 默认消费行为是无序的, 但是可以保证局部有序(单队列内) 具体解决方案为:生产者发送消息时指定队列(根据业务IDHash等等。。。) ,同时消费者使用有序消费监听器(MessageListenerOrderly) 两者同时实现 即可保证局部有序2: rocketmq的消息通讯机制是由推(push)拉(pull)两种方式实现 不过rocketmq对推送机制做了优化现在已不需要拉取了rocketmq的推送机制原理: 由客户端定时与mq发起pull长连接 若无消息返回 则间隔一原创 2020-07-28 15:12:11 · 6297 阅读 · 0 评论 -
RocketMq核心概念
1 消息模型(Message Model)RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片存储于不同的 Broker。Message Queue 用于存储消息的物理地址,每个Topic中的消息地址存储于多个 Message Queue 中。Consu原创 2020-07-28 14:29:54 · 5984 阅读 · 0 评论 -
消息中间件介绍&为什么要使用消息中间件&什么时候使用消息中间件
我们用java来举例子, 打个比方 我们客户端发送一个下单请求给订单系统(order)订单系统发送了 一个请求给我们的库存系统告诉他需要更改库存了, 我已经下单了, 这里, 每一个请求我们都可以看作一条消息,但是 我们客户端需要等待订单系统告诉我这条消息的处理结果(我到底有没有下单成功) 但是 订单系统不需要知道库存系统这条消息的处理情况 因为无论你库存有没有改动成功, 我订单还是下了, 因为是先下完了订单(下成功了) 才去更改库存, 库存如果更改出BUG了 那是库存系统的问题, 这个BUG不会原创 2020-07-28 09:42:07 · 6590 阅读 · 0 评论