rocketmq
rocketmq
编程家阿笨猫
北漂
展开
-
rocketmq编译部署
下载源码:https://github.com/apache/rocketmq/切换到分支:git checkoutrelease-4.4.0编译:mvn -Prelease-all -DskipTests clean install编译产出目录distribution,进入该目录解压apache-rocketmq.tar.gz,进入该目录执行命令export ROCKETMQ_HOME=/Users/hongduoduo/Desktop/rocketmq/distri...原创 2021-02-22 00:35:58 · 300 阅读 · 0 评论 -
rocketmq docker安装
新建:docker-compose.ymlversion: '3'networks: monitor: driver: bridgeservices: namesrv: image: rocketmqinc/rocketmq:4.4.0 container_name: rmqnamesrv ports: - "9876:9876" volumes: - ./docker/namesrv/logs:/root/logs原创 2021-02-20 14:49:49 · 221 阅读 · 0 评论 -
rocketmq源码分析之主从读写分离机制
主从读写分离机制:根据主服务器的消息堆积量来决定消费者是否向从服务器拉取消息消费核心:开关1:suggestPullingFromSlave:总开关,默认消费者不会消费从服务器。开关2:suggestPullingFromSlave:未处理的消息总大小是否大于物理内存的40%org.apache.rocketmq.store.GetMessageResult// 总开关,默认消费者不会消费从服务器private boolean suggestPullingFromSlave = false.原创 2021-01-30 12:17:58 · 243 阅读 · 0 评论 -
rocketmq源码分析之broker心跳检测
1.BrokerController发送心跳包org.apache.rocketmq.broker.BrokerController#start()// 向所有的NameSrv注册Broker信息this.registerBrokerAll(true, false, true);// 周期性注册Broker信息,Broker服务器会每间隔30秒(不会低于10秒,高于60秒)向集群中的所有NameServer发送心跳包this.scheduledExecutorService.scheduleA.原创 2021-01-27 16:37:35 · 652 阅读 · 0 评论 -
rocketmq源码分析之namesrv路由中心
1.创建NamesrvController: 根据配置文件创建namesrvConfig和nettyServerConfig,进而创建NamesrvController2.初始化NamesrvController: 1.加载kv配置 2.创建NettyRemotingServer 3.路由删除:定时任务,每10秒会发起一次检测broker,剔除不活跃的broker 4.定时任务,每10分钟打印kv配置3.启动NamesrvController 启动ne...原创 2021-01-26 23:21:51 · 103 阅读 · 0 评论