RocketMQ
RocketMQ开发过程中相关基础知识
HX_2022
这个作者很懒,什么都没留下…
展开
-
RocketMQ负载均衡
1、Producer负载均衡 Producer端,每个实例在发消息的时候,默认会轮询所有的message queue发送,以达到让消息平均落在不同的queue上。而由于queue可以散落在不同的broker,所以消息就发送到不同的broker下,如下图:图中箭头线条上的标号代表顺序,发布方会把第一条消息发送至 Queue 0,然后第二条消息发送至 Queue 1,以此类推。2、Consumer负载均衡 1)集群模式在集群消费模式下,每条消息只需要投递到订阅这个topic的Consumer Gr.原创 2020-07-28 21:24:31 · 812 阅读 · 0 评论 -
RocketMQ高可用性机制
一、分布式集群 RocketMQ分布式集群是通过Master和Slave的配合达到高可用性的。Master和Slave的区别:在Broker的配置文件中,参数brokerId的值为0表明这个Broker是Master,大于0表明这个Broker是Slave,同时brokerRole参数也会说明这个Broker是Master还是Slave。Master角色的Broker支持读和写,Slave角色的Broker仅支持读,也就是 Producer只能和Master角色的Broker连接写入消息;Cons.原创 2020-07-28 21:14:07 · 1227 阅读 · 0 评论 -
RocketMQ消息存储
一、基本流程 分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。消息生成者发送消息MQ收到消息,将消息进行持久化,在存储中新增一条记录返回ACK给生产者MQ push 消息给对应的消费者,然后等待消费者返回ACK如果消息消费者在指定时间内成功返回ACK,那么MQ认为消息消费成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新push消息,重复执行4、5、6步骤MQ删除消息二、 存储介质 关系型数据库DBApache下开源的另外一款.原创 2020-07-28 20:45:42 · 214 阅读 · 0 评论 -
RocketMQ实现分布式事务
1、背景:RockeyMQ实现分布式事务(拿下单和扣减库存为例,如果下单和扣减库存在一个分布式系统中,需要维持一个事务性)如果下单后发消息提示需要扣减库存,保持一个分布式事务的一致性,就会出现以下场景:场景一:先下单后发消息问题:先下单后如果消息发送失败,无法扣减库存业务无法订阅了此消息,但是却下了单;场景二:先发消息后下单问题:消息发送成功,但是下单失败,但是扣减库存的业务订阅了此消息,则扣减了库存却未下单。RocketMQ解决此问题的方法分为两个阶段:prepared阶段和确认阶段(其.原创 2020-07-26 21:33:17 · 515 阅读 · 0 评论 -
RocketMQ消息的发送和消费之其他样例
背景 前文总结了RocketMQ消息的发送和消费之基本样例,发送消息分为发送同步、异步和单向消息,消费消息分为负载均衡模式和广播模式。下面针对于常见的消息类型做一个补充,分为顺序消息、延时消息、批量消息和过滤消息。1 顺序消息 消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。分区有序是指 消费者通过 同一个消费队列收到的消息是有顺序的 ,不同消息队列收到的消息则可能是无顺序的。普通顺序消息在 Broker 重启情况下不.原创 2020-07-22 21:33:39 · 221 阅读 · 0 评论 -
RocketMQ消息发送和消费之基本样例
1、整体步骤 导入MQ客户端依赖<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.4.0</version></dependency>消息发送者步骤分析1.创建消息生产者producer,并制定生产者组名2.指定N.原创 2020-07-22 21:04:40 · 431 阅读 · 0 评论 -
RocketMQ集群监控平台搭建
1 概述 RocketMQ有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫rocketmq-console,这个便是管理控制台项目了,先将incubator-rocketmq-externals拉到本地,因为我们需要自己对rocketmq-console进行编译打包运行。2 下载并编译打包 git clone https://github.com/apache/rocketmq-externalscd rocketmq-consolem.原创 2020-07-22 15:53:03 · 153 阅读 · 0 评论 -
mqadmin管理工具
1 使用方式 进入RocketMQ安装位置,在bin目录下执行./mqadmin {command} {args}2 命令介绍 1)Topic相关 名称 含义 命令选项 说明 updateTopic 创建更新Topic配置 -b Broker 地址,表示 topic 所在 Broker,只支持单台Broker,地址为ip:port -c cluster 名称,表示 topic 所在集群(集群可通过 clusterL.原创 2020-07-22 15:31:29 · 898 阅读 · 0 评论 -
手把手教你搭建RocketMQ集群
一文带你走完RocketMQ的集群搭建完整流程,以及集群各角色的原理。原创 2020-07-22 15:14:46 · 296 阅读 · 0 评论 -
为什么使用消息队列中间件?
一文带你了解消息队列中间件的作用、优缺点,以及各种产品的适用场景原创 2020-07-22 14:34:08 · 193 阅读 · 0 评论 -
一文搞定RocketMQ的安装
RocketMQ的具体安装和测试工作原创 2020-07-22 00:11:52 · 248 阅读 · 0 评论