RocketMQ实战 (一)

RocketMQ5-02快速部署RocketMQ5.x(手动和容器部署) RocketMQ5快速入门指南(含部署实践)跟着官方文档体验 RocketMQ5.X。关于部署环境,本机单机可执行包部署、Docker部署,Mac部署:下载源文件,可执行包部署 NameServer,问题1:资源不足,补充: 关于日志的输出,可执行包部署 Broker,对于Local模式,对于Cluster模式,对于 Proxy,Docker部署 NameServer,Docker部署 Broker 阅读详情

原文地址: RocketMQ实战 (一)

阿里巴巴有2大核心的分布式技术,一个是OceanBase,另一个就是RocketMQ。在实际项目中已经领教过RocketMQ的强大,本人计划写一个RocketMQ实战系列,将涵盖RocketMQ的简介,环境搭建,初步使用、API详解、架构分析、管理员集群操作等知识.

What is RocketMQ?

RocketMQ作为一款分布式的消息中间件(阿里的说法是不遵循任何规范的,所以不能完全用JMS的那一套东西来看它),经历了Metaq1.x、Metaq2.x的发展和淘宝双十一的洗礼,在功能和性能上远超ActiveMQ。

1.要知道RocketMQ原生就是支持分布式的,而ActiveMQ原生存在单点性。

2.RocketMQ可以保证严格的消息顺序,而ActiveMQ无法保证!

3.RocketMQ提供亿级消息的堆积能力,这不是重点,重点是堆积了亿级的消息后,依然保持写入低延迟!

4.丰富的消息拉取模式(Push or Pull)

Push好理解,比如在消费者端设置Listener回调;而Pull,控制权在于应用,即应用需要主动的调用拉消息方法从Broker获取消息,这里面存在一个消费位置记录的问题(如果不记录,会导致消息重复消费)。

5.在Metaq1.x/2.x的版本中,分布式协调采用的是Zookeeper,而RocketMQ自己实现了一个NameServer,更加轻量级,性能更好!

6.消息失败重试机制、高效的订阅者水平扩展能力、强大的API、事务机制等等(后续详细介绍)


初步理解Producer/Consumer Group

ActiveMQ中并没有Group这个概念,而在RocketMQ中理解Group的机制很重要。


Group机制

想过没有,通过Group机制,让RocketMQ天然的支持消息负载均衡!

比如某个Topic有9条消息,其中一个Consumer Group有3个实例(3个进程 OR 3台机器),那么每个实例将均摊3条消息!(注意RocketMQ只有一种模式,即发布订阅模式。)


install RocketMQ

RocketMQ的Broker集群部署模式还挺多的,比如单Master模式、多Master模式、多Master多Slave模式(异步复制)、多Master多Slave模式(同步双写)等。明确个概念,RocketMQ Slave不可以写,可以读,类似于MySQL的主从机制。

单Master模式:

无需多言,一旦单个broker重启或宕机,一切都结束了!很显然,线上不可以使用。

多Master模式:

全是Master,没有Slave。当然,一个broker宕机了,应用是无影响的,缺点在于宕机的Master上未被消费的消息在Master没有恢复之前不可以订阅。

多Master多Slave模式(异步复制):

多对Master-Slave,高可用!采用异步复制的方式,主备之间短暂延迟,MS级别。Master宕机,消费者可以从Slave上进行消费,不受影响,但是Master的宕机,会导致丢失掉极少量的消息。

多Master多Slave模式(同步双写):

和上面的区别点在于采用的是同步方式,也就是在Master/Slave都写成功的前提下,向应用返回成功,可见不论是数据,还是服务都没有单点,都非常可靠!缺点在于同步的性能比异步稍低。

这里我将采用2个Master的方式进行搭建演示,会了双Master,其他的将很简单。(多Master在实际中也是非常常用的,如果并发非常大,考虑多Master多Slave模式)


双Master模式架构

在192.168.99.121/122机器上各一个NameServer、Master进程。

以192.168.99.121为例:

第一步,修改/etc/hosts文件


hosts配置



确保相互之间可以ping通

第二步,解压并创建存储路径

tar -xvf alibaba-rocketmq-3.2.6.tar.gz

mkdir -p alibaba-rocketmq/store/{commitlog,consumequeue,index}

第三步,配置文件


broker-x.properties



配置项

上面已经将实际中常用的配置项给出来了!

第四步,修改日志配置文件


注意到logback.*.xml配置文件中:


需要替换${user.name}

可以使用sed进行替换:

sed -i 's#${user.home}#/software/alibaba-rocketmq#g' *.xml

第五步,修改启动脚本中的JVM参数


vim runbroker.sh/rumserver.sh

注意,在这里我将JVM的堆的初始化和最大大小统一设置为1G,并将新生代大小设置为512M。主要是考虑到我的虚拟机内存,实际上在线上是可以走默认的4G堆内存的。

第六步,启动NameServer

nohup sh mqnamesrv &



NameServer



nameserver启动日志

第七步,启动broker-X


启动broker

注意观察日志:


broker.log



进程与端口

第八步:RocketMQ Console

把rocketmq-console.war部署到Tomcat下即可。



解压WAR包



在解压WAR包后的CLASS下更改config.properties



好久不见,TOM猫



rocketmq管控台

这个管控台实际上还是比较简陋的,我们使用比较多的是mqadmin操作命令,后续会介绍。

OK,到这里,双Master的搭建已经完成了!


rocketmq相关错误 线上rocketmq消息异常 阅读详情

相关推荐

[统计模型] 基于R的潜在剖面分析(LPA)

本文主要介绍基于R进行潜在剖面分析(Latent Profile Aanalysis, LPA)。 关于潜在类别分析LCA/潜在剖面分析LPA的概念和区别,可以参考一下这篇文章: 潜在类别分析LCA \潜在剖面分析LPA介绍https://www.jianshu.com/p/4c830094131e?utm_campaign=maleskine 但是此文对潜类别分析的阐释还比较生涩,而且没有具体的代码编写、模型优选等内容。本文旨在丰富LPA的内容,并希望和大家交流、共同进步。 1. 什么是潜类别分.

bigstar863的博客 1万+

rocketMq错误日志所在位置

在/apache-rocketmq/conf下面,有logback_broker.xml <appender name="DefaultAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--日志位置--> <file>${user.home}/logs/rocketmqlogs/broker_default.log</f

我的博客 3708

现代SerDes解剖:从CTLE/DFE到PAM4与ADC+DSP架构

高速有线通信的物理层瓶颈,正从并行总线的时钟偏斜转向串行链路的信号完整性挑战。SerDes作为解决这一问题的核心技术,其内部架构远超“并转串”的朴素认知。接收端的CTLE线性均衡与DFE判决反馈均衡,配合CDR时钟恢复,共同构成对抗信道损耗与码间干扰的关键机制。随着速率迈向56G/112G,PAM4调制以电平幅度换取带宽,而ADC+DSP架构则把均衡算法搬入数字域,实现更灵活的非线性补偿。理解这些模块如何协同工作,是调试PCIe、以太网等高速链路、优化眼图余量与抖动预算的基础,也是硬件工程师从盲目调参走向系

weixin_29194817的博客 295

RocketMQ实战(一)

阿里巴巴有2大核心的分布式技术,一个是OceanBase,另一个就是RocketMQ。在实际项目中已经领教过RocketMQ的强大,本人计划写一个RocketMQ实战系列,将涵盖RocketMQ的简介,环境搭建,初步使用、API详解、架构分析、管理员集群操作等知识。What is RocketMQ?RocketMQ作为一款分布式的消息中间件(阿里的说法是不遵循任何规范的,所以...

weixin_34405925的博客 577

同步整流buck电路图设计:手把手入门必看

从零开始拆解同步整流Buck电路图及其原理,手把手带你画出关键拓扑、选型MOSFET、分析续流路径。重点讲清占空比控制逻辑与体二极管导通损耗的规避方法,让buck电路图及其原理真正落地可调、稳定可靠。

weixin_33308579的博客 995

PCL:SAC-IA+ICP配准

【代码】SAC-IA+ICP配准。

m0_71596228的博客 1017

Windows环境下RocketMQ的配置及部署(完整版)

windows环境下配置部署rocketmq,并注册成windows服务,可实现开机自启动并避免误关操作,方便生产环境应用与维护。

s13215的博客 5452

华为OD机试真题 新系统【查找温度记录统计信息】

华为OD机试 新系统真题【查找温度记录统计信息】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【查找温度记录统计信息】多语言题解。

qq_45776114的博客 486

rocketmq 重复消费_RocketMQ实战(一)

阿里巴巴有2大核心的分布式技术,一个是OceanBase,另一个就是RocketMQ。在实际项目中已经领教过RocketMQ的强大,本人计划写一个RocketMQ实战系列,将涵盖RocketMQ的简介,环境搭建,初步使用、API详解、架构分析、管理员集群操作等知识。What is RocketMQ?RocketMQ作为一款分布式的消息中间件(阿里的说法是不遵循任何规范的,所以不能完全用JMS的那一...

weixin_39564368的博客 183

Cursor使用教程:用 Cursor 创建第一个 Java 项目

Cursor是一款基于VS Code的AI编程编辑器,专为开发者设计。安装前需确保JDK 8+、Maven 3.8+等环境配置,支持Windows系统。编辑器提供中文界面选项,可通过扩展市场安装语言包。创建Java项目支持手动和AI提示词两种方式:手动需创建目录结构并编写代码;AI方式则通过自然语言描述快速生成项目框架和代码。标准Java项目包含src/main/java主代码目录、src/test/java测试目录及pom.xml等配置文件。Maven项目中,pom.xml是核心配置文件,管理项目依赖与构

博客 3547

使用MATLAB中的Simulink工具来构建一个微电网系统的仿真平台

微电网是指由分布式电源(如太阳能、风能等)、储能装置、负载以及控制和保护装置组成的局部电力系统。它可以独立于主电网运行,也可以与主电网并联运行。本示例将以一个简单的微电网为例,展示如何利用Simulink进行微电网接入与孤岛运行策略的设计与仿真。分布式电源:模拟太阳能光伏板或风力发电机等分布式电源。储能装置:用于存储多余能量或补充不足能量。负载:模拟实际用电需求。双向变流器:实现直流与交流之间的转换,并支持并网和孤岛模式切换。控制器:负责管理微电网的运行模式,包括并网控制和孤岛控制。

xiaoheshang_123的博客 345

RocketMQ实战(一) - 简介

1 RocketMQ是什么 RocketMQ是由阿里捐赠给Apache的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的洗礼。 官网 2 RocketMQ的发展史 2017开始发布即最新4.0.0版本 3 RocketMQ的特性 4 RocketMQ基本概念 Client端 Producer Group 一类Producer的集合名称,这类Producer通常发送一类消...

JavaEdge全是干货的技术号 3148

Pandas滚动窗口的妙用:动态计算列数据的最大值

Pandas的滚动窗口(rolling window)功能是数据分析中处理时间序列数据的重要工具。本文通过实例演示了如何使用rolling(window=4).max()计算DataFrame列A的滚动最大值,并将结果存入新列Max_Range。该方法会在4个元素的滑动窗口内计算最大值,前3行因数据不足显示为NaN。这种技术广泛应用于金融分析(如股价波动)、数据平滑和趋势识别等场景,能有效帮助分析数据的动态变化特征。示例展示了从数据准备到结果输出的完整流程,体现了Pandas在处理滑动窗口计算时的高效性和便

m0_74337424的博客 53

一:RocketMQ整体理解与快速实战

目录 一、MQ介绍 1、什么是MQ?为什么要用MQ? 2、MQ的优缺点 3、几大MQ产品特点比较 二、RocketMQ快速实战 1、下载RocketMQ 4.7.1版本 2、快速安装RocketMQ 3、 快速运行RocketMQ 3.1 启动NameServer 3.2 启动Broker 3.3 命令行快速验证 3.4 关闭RocketMQ服务 三、RocketMQ集群架构 1、RocketMQ集群中的各个角色 2、RocketMQ集群搭建 3、RocketMQ的其他.

Xx__WangQi的博客 1081

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

RocketMQ实战(一) 侵删

来源:www.jianshu.com/p/3afd610a8f7d 阿里巴巴有2大核心的分布式技术,一个是OceanBase,另一个就是RocketMQ。在实际项目中已经领教过RocketMQ的强大,RocketMQ实战系列,将涵盖RocketMQ的简介,环境搭建,初步使用、API详解、架构分析、管理员集群操作等知识。 What is RocketMQ? RocketMQ作为一款分布式的消息...

心神沫沫的收藏 844

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

RocketMQ详解入门到实战总结(一)

1、为什么要使用RocketMQ RocketMQ是一款分布式、队列模型的消息中间件,支持严格的消息顺序,优点: 应用解耦:如果系统A、系统B、系统C,都直接依赖于系统X,那么系统之间的耦合度就非常高;如果在系统X之前加上RocketMQ,就实现了系统之间的解耦。 流量削峰:如果用户的每次访问都是直接连接到应用上的话,服务器的承受的访问压力就会非常大,达到服务器的承受上限时就可能会崩溃...

川子的博客 5526

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: Quartz源码解析 ---- 触发器按时启动原理
下一篇: RocketMQ实战(二)
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值