![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
RocketMQ
文章平均质量分 83
RocketMQ
FREE_GIFT_白给怪
这个作者很懒,什么都没留下…
展开
-
RocketMQ的重复消费、死信队列、乱序问题
文章目录为什么会重复消费如何解决重复消费消息重试、延时消息、死信队列消息乱序为什么会重复消费比如生产者发送消息的时候使用了重试机制,发送消息后由于网络原因没有收到MQ的响应信息,报了个超时异常,然后又去重新发送了一次消息。但其实MQ已经接到了消息,并返回了响应,只是因为网络原因超时了。这种情况下,一条消息就会被发送两次。在消费者处理了一条消息后会返回一个offset给MQ,证明这条消息被处理过了。但是,假如这条消息已经处理过了,在返回offset给MQ的时候服务宕机了,MQ就没有接收到这条of原创 2022-03-14 20:31:00 · 1341 阅读 · 0 评论 -
如何保证 RocketMQ 不丢失消息?
文章目录生产阶段消息丢失Broker 存储阶段消息丢失消费阶段消息丢失一条消息从生产到被消费,将会经历三个阶段:1.生产阶段,Producer 新建消息,然后通过网络将消息投递给 MQ Broker2.存储阶段,消息将会存储在 Broker 端磁盘中3.消息阶段, Consumer 将会从 Broker 拉取消息以上任一阶段都可能会丢失消息,我们只要找到这三个阶段丢失消息原因,采用合理的办法避免丢失,就可以彻底解决消息丢失的问题。生产阶段消息丢失生产者(Producer) 通过网络发送消息原创 2022-03-14 16:33:07 · 384 阅读 · 0 评论 -
RocketMQ简介与使用
文章目录mq的特点与作用应用解耦削峰数据分发mq的优点和缺点角色介绍集群消息发送样例1.发送同步消息2.发送异步消息3.发送单项消息消息消费样例1.负载均衡模式2.广播模式顺序消息延迟消息发送批量消息过滤消息事务消息mq的特点与作用应用解耦削峰数据分发mq的优点和缺点角色介绍NameServer,很多时候称为命名发现服务,其在RocketMQ中起着中转承接的作用,是一个无状态的服务,多个NameServer之间不通信。任何Producer,Consumer,Broker与所原创 2022-03-13 20:10:11 · 700 阅读 · 0 评论 -
消息队列 RocketMQ应用场景之削峰填谷
秒杀本质上属于短时突发性高并发访问问题,业务特点如下:1.定时触发,流量在瞬间突增2.秒杀请求中常常只有部分能够成功3.秒杀商品数量往往有限,不能超卖,但能接受少卖4.不要求立即返回真实下单结果场景1:某电商网站红米K40发布在即,拥有预约码的用户可优先购买手机。预约方式为:注册账户即可获得预约码,预计预约用户超过1000万。像双11秒杀、手机预约抢购等对 IO 时延敏感业务环境下,当外部请求超过系统处理能力时,如果系统没有做相应保护,可能由于历史累计的超时请求负荷过多而导致系统处理的每个请求原创 2021-03-15 16:58:09 · 3258 阅读 · 0 评论 -
RocketMQ分布式事物
问题我们看到在转账业务中,有两步,一个是操作用户A扣钱,一个是操作用户B加钱如果在同一个数据库中进行,可以保证这两步操作,要么同时成功,要么同时不成功。这样就保证了转账的数据一致性。但是如果用户A的数据在集群A中,用户B在集群B中呢?因为他们不在同一个事务中;如用户A扣款成功,但用户B加钱失败了;那就坑了,数据不完整了。类似这种问题在微服务架构会更多,因为各个服务都是独立的模块,都是远程调用,都没法在同一个事务中,都会遇到事务问题。消息中间件方案RocketMQ事务方案RocketMq消息中原创 2021-03-15 15:52:12 · 190 阅读 · 1 评论