RocketMQ
文章平均质量分 86
Coder_3body
编码创造未来!
展开
-
RocketMQ应用04-事务消息
1 问题引入这里的一个需求场景是:工行用户A向建行用户B转账1万元。我们可以使用同步消息来处理该需求场景:工行系统发送一个给B增款1万元的同步消息M给Broker消息被Broker成功接收后,向工行系统发送成功ACK工行系统收到成功ACK后从用户A中扣款1万元建行系统从Broker中获取到消息M建行系统消费消息M,即向用户B中增加1万元这其中是有问题的:若第3步中的扣款操作失败,但消息已经成功发送到了Broker。对于MQ来说,只要消息写入成功,那么这个消息就可以被消费。此时建行系统原创 2021-08-16 17:10:44 · 461 阅读 · 0 评论 -
RocketMQ应用03-延时消息
1 什么是延时消息当消息写入到Broker后,在指定的时长后才可被消费处理的消息,称为延时消息。采用RocketMQ的延时消息可以实现定时任务的功能,而无需使用定时器。典型的应用场景是,电商交易中超时未支付关闭订单的场景,12306平台订票超时未支付取消订票的场景。在电商平台中,订单创建时会发送一条延迟消息。这条消息将会在30分钟后投递给后台业务系统(Consumer),后台业务系统收到该消息后会判断对应的订单是否已经完成支付。如果未完成,则取消订单,将商品再次放回到库存;如果完成支付,则忽略。原创 2021-08-16 16:23:53 · 651 阅读 · 0 评论 -
RocketMQ应用02-顺序消息
1 什么是顺序消息顺序消息指的是,严格按照消息的发送顺序进行消费的消息(FIFO)。默认情况下生产者会把消息以Round Robin轮询方式发送到不同的Queue分区队列;而消费消息时会从多个Queue上拉取消息,这种情况下的发送和消费是不能保证顺序的。如果将消息仅发送到同一个Queue中,消费时也只从这个Queue上拉取消息,就严格保证了消息的顺序性。2 为什么需要顺序消息例如,现在有TOPIC ORDER_STATUS (订单状态),其下有4个Queue队列,该Topic中的不同消息用于描原创 2021-08-16 15:57:05 · 263 阅读 · 0 评论 -
RocketMQ应用01-普通消息
1 消息发送分类Producer对于消息的发送方式也有多种选择,不同的方式会产生不同的系统效果。同步发送消息同步发送消息是指,Producer发出⼀条消息后,会在收到MQ返回的ACK之后才发下⼀条消息。该方式的消息可靠性最高,但消息发送效率太低。异步发送消息异步发送消息是指,Producer发出消息后无需等待MQ返回ACK,直接发送下一条消息。该方式的消息可靠性可以得到保障,消息发送效率也可以。单向发送消息单向发送消息是指,Producer仅负责发送消息,不等待、不处理MQ的ACK。该原创 2021-08-16 15:24:32 · 159 阅读 · 0 评论 -
RocketMQ-介绍
RocketMQ概述1、RocketMQ简介RocketMQ是一个统一消息引擎、轻量级数据处理平台。RocketMQ是一款阿里巴巴开源的消息中间件。2016年11月28日,阿里巴巴向 Apache 软件基金会捐赠RocketMQ,成为 Apache 孵化项目。2017 年 9 月 25 日,Apache 宣布 RocketMQ孵化成为 Apache 顶级项目(TLP ),成为国内首个互联网中间件在 Apache 上的顶级项目。官网地址:http://rocketmq.apache.org2、R原创 2021-08-10 18:05:01 · 3675 阅读 · 3 评论