图中涉及到的概念如下所述:Name Server:是一个几乎无状态节点,可集群部署,在消息队列RocketMQ版中提供命名服务,更新和发现Broker服务。Broker:消息中转角色,负责存储消息,转发消息。分为Master Broker和Slave Broker,一个Master Broker可以对应多个Slave Broker,但是一个Slave Broker只能对应一个Master Brok            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-11 14:08:06
                            
                                96阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录broker启动流程broker启动可配置参数启动入口`BrokerStartup`1.创建brokerController2.`BrokerController`构造函数3.BrokerController初始化`initialize()`3.1注册消息处理器`registerProcessor`3.2初始化事务消息相关的服务`initialTransaction()`3.3`initia            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-01 14:36:34
                            
                                235阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、Broker概述Broker是 RocketMQ 的核心,大部分‘重量级”工作都是由 Broker完成的。 包括接收 Producer 发过来的消息、处理 Consumer 的消费消息请求、消息的持 久化存储、消息的 HA 机制以及服务端过滤功能等 。二、消息的存储与转发分布式队列因为有高可靠性的要求,所以数据要通过磁盘进行持久化存储 。 磁盘顺序写速度可以达到 600MB/s,但是随机写的速            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-11 08:19:43
                            
                                91阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            使用方式在消费者初始化时注册一个消费监听器,并在消费监听器内部实现消息处理逻辑。由消息队列RocketMQ版的SDK在后台完成消息获取、触发监听器调用以及进行消息重试处理。//消费示例:使用PushConsumer消费普通消息。
	ClientServiceProvider provider = ClientServiceProvider.loadService();
    String top            
                
         
            
            
            
            1.RocketMQ4.X核心配置讲解生产者常见核心配置
compressMsgBodyOverHowmuch :消息超过默认字节4096后进行压缩
retryTimesWhenSendFailed : 失败重发次数
maxMessageSize : 最大消息配置,默认128k
topicQueueNums : 主题下面的队列数量,默认是4
autoCreateTopicEnable : 是否自动            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-29 01:58:14
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、普通集群模式,主从模式有一个master节点,其他都是slave节点,master响应客户端的请求,并存储消息;slave只同步master节点的消息(同步模式是:同步同步或者异步同步),也会响应部分客户端读请求。master挂了的话,slave节点不会转变为master,也就是会导致集群不可用。2、Dledger集群模式Dledger集群是rocketmq在4.5版本之后引入的高可用集群模式            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-31 00:38:50
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Broker配置文件#所属集群名字 
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样 
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
 brokerId=0 #nameServer地址,分号分割
brokerIP1 = 阿里云IP
namesrvAddr=阿里云IP            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-29 14:22:10
                            
                                965阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            启动namesrv第一种:window系统rocketMq两主broker模式打开目录:\rocketmq-all-4.7.1-bin-release\conf\2m-noslavebroker-a配置:
     brokerClusterName=DefaultCluster
     brokerName=broker-a
     brokerId=0
     deleteWhen=04            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-01 14:21:12
                            
                                189阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RocketMQ源码版本V5.0.0,可兼容之前的版本,因为整理资料的时候,之前的版本,和V5版本有所出入,核心流程基本还是大同小异的。此前已经总结了NameServer的启动流程源码:现在来了解Broker的启动流程。在RocketMQ启动的时候,首先要启动NameServer,然后再启动Broker。Broker模块主要复制消息的存储、投递、查询,以及服务高可用的保证。为了实现这些功能,Bro            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 22:53:59
                            
                                1798阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            #接受客户端连接的监听端口,默认10911
listenPort=10911
#name server服务器地址及端口,可以是多个,分号隔开
namesrvAddr=192.168.1.100:9876
#当前 broker 监听的 IP,默认值 网卡的 InetAddress	
brokerIP1=
#存在主从 broker 时,如果在 broker 主节点上配置了 brokerIP2 属            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-16 01:43:44
                            
                                152阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            通用参数: brokerClusterName=default-cluster
brokerName=broker-b
brokerId=0
#- ASYNC_MASTER 异步复制Master   - SYNC_MASTER 同步双写Master   - SLAVE 
brokerRole=SYNC_MASTER
namesrvAddr=100.100.100.100:9876;10            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-19 13:52:18
                            
                                189阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、RocketMQ集群架构   RocketMQ中主要涉及到四种角色:NameServer注册服务器、Broker服务器、Producer生产者、Consumer消费者。每种角色都可以单独搭建集群,下面我们分别介绍一下NameServer 集群、Broker 集群、Producer 集群、Customer 集群。(一)、NameServer 集群  NameServer 是一个无状态的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-12 12:22:50
                            
                                605阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录Windows下使用RocketMQ关于RocketMQ使用RocketMQ默认启动启动服务用springboot程序测试修改nameserver端口启动启动测试  tips:最近在使用RocketMQ作为消息中间件使用,于是在本地windows上也安装了一个,计划模拟测试各项功能。但是发现想要修改端口,修改nameserver等都不成功,程序要么连接不是nameserver,要么发送消            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-01 14:12:48
                            
                                193阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            背景说明场景一、 部署RocketMQ集群时,启动Broker报错:org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.xxx.xxx:30909> failed场景二、一台服务器部署RocketMQ集群,Broker的监听端口配置连续时,启动其中一个Broker报错:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 06:01:27
                            
                                1269阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RocketMQ核心配置讲解RocketMQ的核心配置在broker.conf配置文件里,下面我们来分析下它。 一、broker.conf配置 下面只列举一些常用的核心配置讲解。1、broker.conf核心配置讲解# nameServer地址,如果nameserver是多台集群的话,就用分号分割
namesrvAddr=172.1.21.29:9876;143.13.262.43:9876
#            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-27 11:59:54
                            
                                186阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文主要分析Broker模块在RocketMQ担当的角色是什么,集群最核心模块Broker,主要负责Topic消息存储、消费者的消费偏移量管理(消费进度) 1、高并发读写服务消息顺序写:所有Topic数据同时只会写入一个commitLog文件(默认1G),当一个文件写满后,写到一个新的commitLong文件,使得发消息TPS大幅度提高消息随机读:RocketMQ尽可能让读命中系统的pa            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-27 12:38:17
                            
                                119阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            broker的启动类在brokerStartUp 的main方法  一。   首先调用createBrokerController方法创建brokerController:           NettyClientConfig,NettyServerConfig,BrokerConfig,MessageSt            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-16 01:26:30
                            
                                105阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录一、问题描述
二、Broker日志分析
    1.查看GC日志
    2.查看Broker日志
三、系统监控分析
    1.网络监控
    2.磁盘IO监控
    3.CPU监控
    4.内存信息
    5.集群流量
四、Linux系统日志分析
五、解决方案
    1.调整内核参数
    2.参数含义说明
六、原理分析一、问题描述在2020-03-16 18:00左右收到告            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-21 11:05:45
                            
                                371阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            今天有兴致来研究下linux下的配置基于官方网站上极力推荐的环境需要64操作系统,建议使用linux /unix/centOs 764bit JDK 1.8+Maven 3.2.x下载centos7 64位按照虚拟机,此过程就不再赘述了,直接来rocketmq的安装部署步骤1.上传maven2.上传jdk3.上传源代码包环境变量1.jdk的环境变量2.maven的环境变量以上安装就不再赘述,自行            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-08 11:59:27
                            
                                95阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            说在前面
今天开始解析管理请求处理之UPDATE_BROKER_CONFIG更新broker配置信息
  源码解析
进入这个方法org.apache.rocketmq.broker.processor.AdminBrokerProcessor#updateBrokerConfig 更新broker配置信息
 
 
private synchronized RemotingCommand            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 11:06:52
                            
                                47阅读