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

网站地图 seo搜索引擎seo关键词优化

网站地图 seo,搜索引擎seo关键词优化,九江做网站,湖南省建设工程造价管理总站网站目录 一#xff1a;RocketMq 整体文件存储介绍 二#xff1a;ConsumeQueue 的文件结构 三#xff1a;ConsumeQueue 写入和查询流程 一#xff1a;RocketMq 整体文件存储介绍 存储⽂件主要分为三个部分#xff1a; CommitLog#xff1a;存储消息的元数据。所有消息都会…目录 一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 --------------------- | 刷盘操作 | | - 定期刷盘到磁盘 | --------------------- 写入流程 消息写入 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 --------------------- | 返回消息给消费者 | --------------------- 查询流程 消费者拉取消息 消费者指定 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.hkea.cn/news/14517101/

相关文章:

  • 自己做网站的过程一诺摄影设计
  • 怎么给一个花店做网站建设想要网站推广页面
  • 网站开发范本百度网站数据统计怎么做
  • 安徽省建设厅网站域名哪个平台可以免费打广告
  • 网站 开发 周期wordpress 木马
  • 唐山网站推广网站建设安排
  • 英文网站推荐企业建设网站维护
  • 公众号做 视频网站上海浦东网站建设
  • 个人网站内容有哪些内容wordpress 3.9 编辑文章 固定链接 不能编辑
  • 厦门自助建站网站维护员
  • 网站优化找谁台州网站设计哪家好
  • 电脑主机做网站服务器湖南省建设厅
  • 唐山做企业网站中国各大网站开发语言
  • 网站开发与设计的总体思想软件开发流程的具体内容
  • 精美ppt模板免费下载网站网站收录什么意思
  • 做盗版视频网站犯法吗网站建设实训报告心得
  • 成都知名网站建设如何推广网站网站推广常用方法
  • 免费做问卷的网站湛江在线网
  • 网站推广一般多少钱西安建设工程信息网人员信息
  • 站长工具域名查询ip黄页88网站
  • 网站建设理论基础青岛专业网站设计公司
  • 网站建设的制度建设欧美租车公司网站模板1psd
  • 成都市公园城市建设管理局网站昆山建设招投标网站
  • 网站图片切换怎么做的软件开发网络技术开发公司
  • 郑州的建设网站有哪些怎么把qq空间做成企业网站
  • 深圳坑梓网站建设公司建立一个app需要多少钱
  • 响应式布局网站建设住房公积金网站怎么做减员
  • 宜昌医院网站建设本地 安装 WordPress主题
  • 深圳市网站维护做的网站不能放视频软件
  • 欧美网站模版公司网络维护员是干什么的