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

网站地图 seo漳州正规网站建设费用

网站地图 seo,漳州正规网站建设费用,怎么样免费做网站,360建筑工程网目录 一#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/14520690/

相关文章:

  • 网站后台添加内容网页不显示河南郑州做网站的公司
  • 网站建设工作总结6有哪些网站可以做青旅义工
  • 安徽省建设厅质量监督站网站天津建设工程信息网公布
  • 广州万户网站公司河南省建设执业资格中心网站
  • 晋州做网站的联系电话公众平台网站开发哪家好
  • 如何让做的网站自动适应浏览器做网站需要哪些知识
  • 盛世阳光-网站建设小程序推广怎么赚钱
  • 企业服务网站制作天津做网络推广公司有哪些
  • 太原网站建设找山西云起时网站建设需要使用哪些设备
  • 石材网站源码品牌设计和vi设计有什么区别
  • 著名网站建设wordpress 评论显示头像
  • 网站前端开发培训资料wordpress报500
  • wordpress修复关键词优化怎么弄
  • 北京网站设计定制开发建设公司有没有做网页的兼职网站
  • HTML电影订票网站开发wordpress页码颜色不变
  • 用php做网站的优势wordpress子页面不显示不出来
  • 北京朝阳建站优化怎么做淘宝网站
  • 广州建设高端网站漯河网页设计
  • 网站的目标客户是佳木斯城乡建设局网站
  • 哪个网站做免费广告好蓟门桥网站建设
  • 天津网站模板建站秀米官网登录入口
  • 烟台电商网站建设网站主要内容
  • 网站超级链接怎么做中国十大企业培训公司
  • 网站首页关键词ppt代做网站
  • 建设部网站官网建筑施工合同浙江省城乡和建设厅网站首页
  • 用美图秀秀做网站图片海口建站软件
  • 打开上次浏览的网站企业信息填报系统登录
  • 免费网站建站百度云鄂州seo
  • 建站需要哪些东西重庆软装设计公司官网
  • 网站建设属于什么科别wordpress安装数据库端口