首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
RocketMq源码学习
Emanon
创建于2023-06-17
订阅专栏
Rocket学习与源码阅读笔记
等 66 人订阅
共41篇文章
创建于2023-06-17
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
41.RocketMQ之高频面试题大全
消息中间件相关高频面试题,主要是消息中间件中的重复消费与幂等,以及顺序消息和消息积压和重置消费点位等。
40.RocketMQ之高频面试题大全
消息中间件相关高频面试题,主要是消息中间件中的架构、角色,消息的消费与拉取,以及消息推拉模式的优点和缺点。
39.Dledger是如何实现主从自动切换的
Broker的主从切换是可以基于Dledger实现自动切换的,那么小伙伴们是不是很好奇它究竟是如何实现的呢?今天我们就来聊一聊这个话题。
38.RocketMQ之Broker的主从架构
Broker是RocketMQ的核心模块,负责接收并存储消息,为了保证整个MQ的高可用,一般情况都会将Broker部署成集群,集群中的每一部分都由Master和Slave组成,那么主从如何同步的呢?
37.RocketMQ之Broker消息存储源码分析
生产者发出的消息都会顺序存入到CommitLog中,CommitLog由多个文件组成,每个文件固定大小1G,以第一条消息的偏移量为文件名。消息是如何存储到CommitLog中的呢?
36.RocketMQ之Broker如何实现磁盘文件高性能读写
Broker读写磁盘文件的核心技术:mmap。Broker中大量的使用mmap技术去实现CommitLog这种大磁盘文件的高性能读写优化的。
35.RocketMQ之Broker端消息存储文件详解
rmq核心是broker,broker的核心是commitlog、consumequeue、indexfile,而这些文件对应的都是MappedFile,明白了MappedFile就明白了消息存储。
34.RocketMQ之Broker端消息存储流程详解
RocketMQ主要存储的文件包括Commitlog文件、ConsumeQueue文件、IndexFile文件。RMQ把所有主题的消息存储在同一个文件中,确保消息发送时顺序写文件。
33.RocketMQ之Broker启动源码
RocketMQ路由注册是通过Broker与NS的心跳实现。Broker启动时向所有NS发送心跳,Broker每30s向集群中所有NS发送心跳包。NS每隔10s扫描一次,如果120S没收到心跳就剔除。
32.RockectMQ之消费者消费消息源码
消息消费以组的模式开展,一个消费组内可以包含多个消费者,每一个消费者组可订阅多个主题,消费组之间有负载均衡模式和广播模式两种消费模式。
31.RocketMQ之消息拉取长轮询机制分析
开启长轮询模式RocketMQ会每隔5s轮询检查一次消息是否可达,同时一有消息达到后立马通知挂起线程验证是否是自己感兴趣的消息,如果是则从CommitLog文件中提取消息返回。否则挂起超时(15s)
30.RocketMQ之消费者拉取消息源码
在集群模式下一个消费者组有多个消费者。一个主题存在多个消费队列,消费者通过负载均衡的方式消费消息。消息队列负载均衡通常是一个消息队列在同一个时间只允许被一个消费者消费,一个消费者可以同时消费多个队列。
29.RocketMQ之消费者负载均衡策略
负载均衡策略概述 消费者在消费消息的时候,需要知道从Broker的哪一个消息队列中去获取消息。所以,在消费者端必须要做负载均衡,即Broker端中多个消费队列分配给同一个消费者组中的哪些消费者消费。
28.RocketMQ之消费者的负载均衡源码
消费者启动时会把自己注册给Broker,让每一个 Broker都知道有哪些消费者,然后消费者消费时,会随机连接一台Broke获取所有的消费者,然后根据Topic的队列和消费者做负载均衡。
27.RocketMQ之消费者启动源码
流程:1.指定消费者组,负载均衡策略,消费模式2.消费者订阅主题3.订阅重试主题4.创建MQClientInstance5.获取offsetStore6.根据监听器创建并发消费服务或者顺序消费服务
26.RocketMQ之生产者发送消息源码
生产者最重要的自然是发送消息,生产者发送消息有同步/异步/单向3种模式,每种模式的处理方式也都也都各不相同,最重要的是同步/异步的处理方式。同时RocketMQ支持批量消息的发送。
25.RocketMQ之生产者的启动流程
消息生产者的代码都在client模块中,消息生产者既是客户端,也是消息的提供者。生产者启动主要是创建MQClientInstance,然后启动MQClientInstance
24.RocketMQ之动态增减NameServer
一个消息队列集群由多台机器组成,持续稳定地提供服务,因为业务需求或硬件故障,经常需要增加或减少各个角色的机器,本节介绍如何动态地增减RocketMQ集群的协调者NameServer。
23.RocketMQ之NameServer处理Broker心跳包,更新本地路由信息
DefaultRequestProcessor用于处理各种客户端的请求,如果请求类型是为REGISTER_BROKER,则是Broker心跳包的请求,那NameServer如何处理Broker心跳包?
22.RocketMQ之NameServer启动流程
1.创建NameServerController 2.初始化NameServerController,启动相关定时任务 3.启动NameServerControll,注册钩子函数
下一页