rocketmq
文章平均质量分 91
WJY_123456
这个作者很懒,什么都没留下…
展开
-
高可用的升级-RocketMQ知识体系7
一直以来,在多地多中心的消息发送场景下,如何保障数据的完整性和一致性是一个技术难点。在 RocketMQ 4.5 版本之前,RocketMQ 只有 Master/Slave 一种部署方式,一组 broker 中有一个 Master ,有零到多个Slave,Slave 通过同步复制或异步复制的方式去同步 Master 数据。Master/Slave 部署模式,提供了一定的高可用性。但这样的部署模式,有一定缺陷。比如故障转移方面,如果主节点挂了,还需要人为手动进行重启或者切换,无法自动将一个从节点转换为主节点。原创 2021-08-02 22:22:24 · 206 阅读 · 0 评论 -
事物消息的实现-RocketMQ知识体系6
分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。例如在大型电商系统中,下单接口通常会扣减库存、减去优惠、生成订单 id, 而订单服务与库存、优惠、订单 id 都是不同的服务,下单接口的成功与否,不仅取决于本地的 db 操作,而且依赖第三方系统的结果,这时候分布式事务就保证这些操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。目前解决分布式事物的解决方案有seata,lcn 等。RocketMQ 分布式事物实原创 2021-07-27 15:20:50 · 97 阅读 · 0 评论 -
顺序消息的实现-RocketMQ知识体系5
我们知道,kafka 如果要保证顺序消费,必须保证消息保存到同一个patition上,而且为了有序性,只能有一个消费者进行消费。这种情况下,Kafka 就退化成了单一队列,毫无并发性可言,极大降低系统性能。那么对于对业务比较友好的RocketMQ 是如何实现的呢?首先,我们循序渐进的来了解下顺序消息的实现。顺序消息业务使用场景—1、电商场景中传递订单状态。2、同步mysql 的binlong 日志,数据库的操作是有顺序的。3、其他消息之间有先后的依赖关系,后一条消息需要依赖于前一条消息的处理结果的情况。等等原创 2021-07-23 09:28:31 · 160 阅读 · 0 评论 -
消费者原理分析-RocketMQ知识体系4
前文了解了 RocketMQ消息存储的相关原理,本文将讲讲消息消费的过程及相关概念。关于消息消费,消费者组这些概念,基本和kafka 是类似的,比如:一个消费组内可以包含多个消费者,1个消费组可订阅多个主题。消费组之间有集群模式与广播模式两种。集群模式下,主题下的同一消息只允许被消费组内的一个消费者...原创 2021-07-19 16:53:37 · 480 阅读 · 0 评论 -
消息的存储-RocketMQ知识体系3
上一篇了解了RocketMQ消息发送,本文开始聊聊消息发送到Broker端后,消息存储相关的逻辑。RocketMQ存储概要设计—RocketMQ主要存储的文件包括commitlog文件、consumeQueue文件、IndexFile文件。CommitLog是消息存储文件,所有消息主题的消息都存储在CommitLog文件中;该文件默认最大为1GB,超过1GB后会轮到下一个CommitLog文件。通过CommitLog,RocketMQ将所有消息存储在一起,以顺序IO的方式写入磁盘,充分利用了磁盘顺序写减少了原创 2021-07-15 19:23:26 · 103 阅读 · 0 评论