当前位置: 首页 > news >正文

成品网站怎么被百度收录产品品牌策划方案

成品网站怎么被百度收录,产品品牌策划方案,北京java网站建设公司,高校网站建设意义目录 一:RocketMq 整体文件存储介绍 二:ConsumeQueue 的文件结构 三:ConsumeQueue 写入和查询流程 一:RocketMq 整体文件存储介绍 存储⽂件主要分为三个部分: CommitLog:存储消息的元数据。所有消息都会…

目录

一:RocketMq 整体文件存储介绍

二:ConsumeQueue 的文件结构

三:ConsumeQueue 写入和查询流程


一:RocketMq 整体文件存储介绍

存储⽂件主要分为三个部分:

    CommitLog:存储消息的元数据。所有消息都会顺序存⼊到CommitLog⽂件当中。CommitLog由多个⽂件组成,每个⽂件固定⼤⼩1G。以第⼀条消 息的偏移量为⽂件名。
    ConsumerQueue:存储消息在CommitLog的索引。⼀个MessageQueue⼀个⽂件,记录当前MessageQueue被哪些消费者组消费到了哪⼀条CommitLog。
    IndexFile:为了消息查询提供了⼀种通过key或时间区间来查询消息的⽅法,这种通过IndexFile来查找消息的⽅法不影响发送与消费消息的主流程。

这篇文章主要介绍ConsumeQueue的研究,以rocketmq5.3.0版本作为研究。


二:ConsumeQueue 的文件结构

ConsumeQueue 的文件格式:

每个 ConsumeQueue 条目占用 20 字节,包含以下三个字段:

字段名长度(字节)说明
CommitLog Offset8消息在 CommitLog 文件中的物理偏移量。
Message Length4消息的长度。
Tag HashCode8消息 Tag 的哈希值,用于快速查找具有相同 Tag 的消息。

这种固定长度的设计使得 ConsumeQueue 文件可以像数组一样随机访问,极大地提高了读取性能


三:ConsumeQueue 写入和查询流程

1. ConsumeQueue 写入流程图

+---------------------+
| 消息写入 CommitLog   |
+---------------------+|v
+---------------------+
| 触发 Reput 操作       |
| - ReputMessageService |
+---------------------+|v
+---------------------+
| 获取 ConsumeQueue    |
| - 根据 Topic 和 QueueId  |
+---------------------+|v
+---------------------+
| 构建索引条目         |
| - CommitLog Offset   |
| - Message Length     |
| - Tag HashCode       |
+---------------------+|v
+---------------------+
| 写入 ConsumeQueue 文件 |
| - 每个条目 20 字节     |
| - 文件大小 30 万条目   |
+---------------------+|v
+---------------------+
| 刷盘操作             |
| - 定期刷盘到磁盘     |
+---------------------+

写入流程

  1. 消息写入 CommitLog

    • Broker 接收到消息后,将其顺序写入 CommitLog 文件

  • 触发 Reput 操作

    • Broker 中的 ReputMessageService 线程异步将 CommitLog 中的消息重新构建到 ConsumeQueue 文件

  • 获取 ConsumeQueue

    • 根据消息的 Topic 和 QueueId,从 consumeQueueTable 中获取对应的 ConsumeQueue。如果不存在,则创建一个新的 ConsumeQueue

  • 构建索引条目

    • 为每条消息构建一个索引条目,包含以下信息:

      • CommitLog Offset:消息在 CommitLog 中的物理偏移量。

      • Message Length:消息的长度。

      • Tag HashCode:消息 Tag 的哈希值

  • 写入 ConsumeQueue 文件

    • 将索引条目写入 ConsumeQueue 文件。每个条目占用 20 字节,文件大小固定为 30 万个条目

  • 刷盘操作

    • 定期将 ConsumeQueue 文件中的数据刷盘,确保数据持久化

consumequeue写入代码:org.apache.rocketmq.store.ConsumeQueue#putMessagePositionInfo


2. ConsumeQueue 查询流程图

+---------------------+
| 消费者拉取消息       |
| - Topic, QueueId     |
| - 起始逻辑偏移量     |
+---------------------+|v
+---------------------+
| 查询 ConsumeQueue    |
| - 根据逻辑偏移量计算 |
|   ConsumeQueue 文件位置 |
+---------------------+|v
+---------------------+
| 读取索引条目         |
| - 获取 CommitLog Offset |
| - 获取 Message Length |
| - 获取 Tag HashCode   |
+---------------------+|v
+---------------------+
| 定位 CommitLog 文件   |
| - 根据物理偏移量计算  |
|   CommitLog 文件位置   |
+---------------------+|v
+---------------------+
| 从 CommitLog 读取消息 |
| - 根据物理偏移量读取  |
| - 校验消息完整性      |
+---------------------+|v
+---------------------+
| 返回消息给消费者     |
+---------------------+

查询流程

  1. 消费者拉取消息

    • 消费者指定 Topic、QueueId 和起始逻辑偏移量,向 Broker 发起拉取消息请求

  • 查询 ConsumeQueue

    • Broker 根据逻辑偏移量计算 ConsumeQueue 文件的位置,读取对应的索引条目

  • 读取索引条目

    • 从 ConsumeQueue 文件中读取索引条目,获取消息在 CommitLog 中的物理偏移量、消息长度和 Tag 哈希值

  • 定位 CommitLog 文件

    • 根据物理偏移量计算 CommitLog 文件的位置,读取对应的消息内容

  • 从 CommitLog 读取消息

    • 从 CommitLog 文件中读取消息内容,并校验消息的完整性

  • 返回消息给消费者

    • Broker 将读取到的消息内容返回给消费者

查询代码入口: org.apache.rocketmq.store.DefaultMessageStore#getMessage(java.lang.String, java.lang.String, int, long, int, int, org.apache.rocketmq.store.MessageFilter)

http://www.mnyf.cn/news/34933.html

相关文章:

  • 网站制作主题思路无锡做网站的公司
  • 教人做家务的网站网络营销公司是做什么的
  • 做微信电影网站seo搜索引擎推广
  • 网站建设 需求做引流的公司是正规的吗
  • 医院响应式网站建设方案凡科建站的优势
  • 国际知名设计公司赛瑞的logo百度seo综合查询
  • 西安北郊做网站公司互动营销成功案例
  • wordpress大商创会员seo网站关键词
  • 怎么做打码网站产品推广介绍怎么写
  • 网站做转链接违反版权吗厦门seo百度快照优化
  • 长春网站制作费用销售营销方案100例
  • 梧州网站开发百度最新版本2022
  • 美国网上做任务的网站近期时事新闻
  • 诸城哪有做公司网站和的广告网站
  • 网站推广怎么做品牌推广方式都有哪些
  • 服务器做的网站 怎么使用软件定制开发公司
  • 甘肃建设体网站seo网站管理
  • 做网站的商标是哪类百度广告推广电话
  • wordpress无法用qq邮箱seo是什么意思 为什么要做seo
  • iis7.5 没有默认网站哪里有竞价推广托管
  • 重庆新闻今日最新消息优化大师下载电脑版
  • 搭建网站服务衡阳seo优化首选
  • 南昌专业网站制作公司娄底地seo
  • 做介绍的英文网站中山网站建设公司
  • 用.net core 做网站亿速云
  • 网站建设与网页设计是什么意思连云港seo优化公司
  • 中国新农村建设网站投稿上海疫情最新情况
  • 响应式网站建设seo搜狗排名点击
  • 鹤城建设集团网站网站安全检测中心
  • 杭州制作手机网站18巨量引擎