 Apache RocketMQ 从入门到实战@3 代码@1:首先介绍一下几个局部变量的含义:  maxOffsetPy 当前最大的物理偏移量。返回的偏移量为已存入到操作系统的 PageCache 中的内容。  maxPhyOffsetPulling 本次消息拉取最大物理偏移量,按照消息顺序拉取的基本原则,可以基本预测下次开始 拉取的物理偏移量将大于该值,并且就在其附近。  diff maxOffsetPy 与 maxPhyOffsetPulling StoreUtil.TOTAL_PHYSICAL_MEMORY_SIZE 返回当前系统的总物理内存。参数  accessMessageInMemoryMaxRatio 设置消息存储在内存中的阀值,默认为 40。 结合代码@2 这两个参数的含义,算出 RocketMQ 消息能映射到内存中最大值为 40% * (机器物理内存)。 代码@3:设置下次拉起是否从从拉取标记,触发下次从从服务器拉取的条件为:当前 :当前 所有可用消息数据(所有 commitlog)文件的大小已经超过了其阔值,默认为物理内存的 40%。 那 GetResult 的 suggestPullingFromSlave 属性在哪里使用呢? 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 1.4 RocketMQ HA 核心工作机制 < 42 PullMessageProcessor#processRequest0 码力 | 165 页 | 12.53 MB | 1 年前3 Apache RocketMQ 从入门到实战@3 代码@1:首先介绍一下几个局部变量的含义:  maxOffsetPy 当前最大的物理偏移量。返回的偏移量为已存入到操作系统的 PageCache 中的内容。  maxPhyOffsetPulling 本次消息拉取最大物理偏移量,按照消息顺序拉取的基本原则,可以基本预测下次开始 拉取的物理偏移量将大于该值,并且就在其附近。  diff maxOffsetPy 与 maxPhyOffsetPulling StoreUtil.TOTAL_PHYSICAL_MEMORY_SIZE 返回当前系统的总物理内存。参数  accessMessageInMemoryMaxRatio 设置消息存储在内存中的阀值,默认为 40。 结合代码@2 这两个参数的含义,算出 RocketMQ 消息能映射到内存中最大值为 40% * (机器物理内存)。 代码@3:设置下次拉起是否从从拉取标记,触发下次从从服务器拉取的条件为:当前 :当前 所有可用消息数据(所有 commitlog)文件的大小已经超过了其阔值,默认为物理内存的 40%。 那 GetResult 的 suggestPullingFromSlave 属性在哪里使用呢? 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 1.4 RocketMQ HA 核心工作机制 < 42 PullMessageProcessor#processRequest0 码力 | 165 页 | 12.53 MB | 1 年前3
 消息中间件RocketMQ原理解析 - 斩秋Rocketmq 的消息的存储是由 consume queue 和 commitLog 配合完成的 1) consume queue 消息的逻辑队列,相当于字典的目录用来指定消息在消息的真正的物理 文件 commitLog 上的位置, 每个 topic 下的每个 queue 都有一个对应的 consumequeue 文件。 文件地址:${user.home} \store\consum 分组死信队列,如果消费端重试超过指定次数,发送死信队列 (4) 每个 ConsumeQueue 可以由多个文件组成无限队列被 MapedFileQueue 对象管理 2) CommitLog 消息存放物理文件,每台 broker 上的 commitLog 被本机器所有 queue 共享不 做区分 文件地址:${user.home} \store\${commitlog}\${fileName} ,要通过这个值查找到 consume queue 中数据, QUEUEOFFSET * 20 才是偏移地址 + 8 // PHYSICALOFFSET 代表消息在 commitLog 中的物理起始地址偏移量 + 4 //SYSFLAG 消息标志,指明消息是事物事物状态等等消息特征 + 8 // BORNTIMESTAMP 消息产生端(producer)的时间戳0 码力 | 57 页 | 2.39 MB | 1 年前3 消息中间件RocketMQ原理解析 - 斩秋Rocketmq 的消息的存储是由 consume queue 和 commitLog 配合完成的 1) consume queue 消息的逻辑队列,相当于字典的目录用来指定消息在消息的真正的物理 文件 commitLog 上的位置, 每个 topic 下的每个 queue 都有一个对应的 consumequeue 文件。 文件地址:${user.home} \store\consum 分组死信队列,如果消费端重试超过指定次数,发送死信队列 (4) 每个 ConsumeQueue 可以由多个文件组成无限队列被 MapedFileQueue 对象管理 2) CommitLog 消息存放物理文件,每台 broker 上的 commitLog 被本机器所有 queue 共享不 做区分 文件地址:${user.home} \store\${commitlog}\${fileName} ,要通过这个值查找到 consume queue 中数据, QUEUEOFFSET * 20 才是偏移地址 + 8 // PHYSICALOFFSET 代表消息在 commitLog 中的物理起始地址偏移量 + 4 //SYSFLAG 消息标志,指明消息是事物事物状态等等消息特征 + 8 // BORNTIMESTAMP 消息产生端(producer)的时间戳0 码力 | 57 页 | 2.39 MB | 1 年前3
 RocketMQ v3.2.4 开发指南............................................................................... 10 5.2 RocketMQ 物理部署结构 .............................................................................................. 能够保证严格的消息顺序  提供丰富的消息拉叏模式  高效的订阅者水平扩展能力  实时的消息订阅机制  亿级消息堆积能力  较少的依赖 5.2 RocketMQ 物理部署结构 Name Server集群 Broker Master1 Broker Master2 Broker Slave1 Broker Slave2 Producer集群 Consumer集群 堆转入 PAGACACHE,物理内存。 (3). Producer 収送消息,由异步线程刷盘,消息从 PAGECACHE 刷入磁盘。 (4). Consumer 拉消息(正常消费),消息直接从 PAGECACHE(数据在物理内存)转入 socket,到达 consumer, 丌经过 java 堆。返种消费场景最多,线上 96G 物理内存,挄照 1K 消息算,可以在物理内存缓存 1 亿条消 息。0 码力 | 52 页 | 1.61 MB | 1 年前3 RocketMQ v3.2.4 开发指南............................................................................... 10 5.2 RocketMQ 物理部署结构 .............................................................................................. 能够保证严格的消息顺序  提供丰富的消息拉叏模式  高效的订阅者水平扩展能力  实时的消息订阅机制  亿级消息堆积能力  较少的依赖 5.2 RocketMQ 物理部署结构 Name Server集群 Broker Master1 Broker Master2 Broker Slave1 Broker Slave2 Producer集群 Consumer集群 堆转入 PAGACACHE,物理内存。 (3). Producer 収送消息,由异步线程刷盘,消息从 PAGECACHE 刷入磁盘。 (4). Consumer 拉消息(正常消费),消息直接从 PAGECACHE(数据在物理内存)转入 socket,到达 consumer, 丌经过 java 堆。返种消费场景最多,线上 96G 物理内存,挄照 1K 消息算,可以在物理内存缓存 1 亿条消 息。0 码力 | 52 页 | 1.61 MB | 1 年前3
 基于Apache APISIX 与RocketMQ 构建云原生一体化架构loud Native 公有云 专有云 混合云 EC S 容器 K8S 物理机 经典网络/VPC 网络 Overlay/Underlay NVMe 普通云盘 ESSD 云盘 SA TA 独占/混部/独立交付…… • 集群节点异常成为常态 • 依赖服务随时可能在进行迁移或重启 • 对弹性的要求开始从物理资源变为逻辑资源 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战0 码力 | 22 页 | 2.26 MB | 1 年前3 基于Apache APISIX 与RocketMQ 构建云原生一体化架构loud Native 公有云 专有云 混合云 EC S 容器 K8S 物理机 经典网络/VPC 网络 Overlay/Underlay NVMe 普通云盘 ESSD 云盘 SA TA 独占/混部/独立交付…… • 集群节点异常成为常态 • 依赖服务随时可能在进行迁移或重启 • 对弹性的要求开始从物理资源变为逻辑资源 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战0 码力 | 22 页 | 2.26 MB | 1 年前3
共 4 条
- 1













