原文:RocketMQ源码详解 | Broker篇 · 其二:文件系统

概述 在 Broker 的通用请求处理器将一个消息进行分发后,就来到了 Broker 的专门处理消息存储的业务处理器部分。本篇文章,我们将要探讨关于 RocketMQ 高效的原因之一:文件结构的良好设计与对 Page Cache 的极致 压榨 。 文件系统的结构设计 在 RocketMQ 的 Broker 中,有一类叫做 CommitLog 的文件,所有在该 Broker 上的 Topic 上的消 ...

2021-11-02 17:08 2 918 推荐指数:

查看详情

RocketMQ源码详解 | Broker · 其三:CommitLog、索引、消费队列

概述 上一章中,已经介绍了 Broker文件系统的各个层次与部分细节,本章将继续了解在逻辑存储层的三个文件 CommitLog、IndexFile、ConsumerQueue 的一些细节。文章最后,还会对比下 RocketMQ 和 Kafka 的持久化结构与设计的合理性 ...

Mon Nov 08 00:31:00 CST 2021 0 1006
RocketMQ源码详解 | Broker · 其一:线程模型与接收链路

概述 在上一节 RocketMQ源码详解 | Producer · 其二:消息组成、发送链路 中,我们终于将消息发送出了 Producer,在短暂的 tcp 握手后,很快它就会进入目的 Broker。这次我们来自底向上的看下 Broker 端是如何接收然后分发处理消息,同时了解 ...

Sat Oct 30 00:21:00 CST 2021 0 256
RocketMQ源码详解 | Broker · 其五:高可用之主从架构

概述 对于一个消息中间件来讲,高可用功能是极其重要的,RocketMQ 当然也具有其对应的高可用方案。 在 RocketMQ 中,有主从架构和 Dledger 两种高可用方案: 第一种通过主 Broker 将消息发送到从 Broker 实现高可用,在主 Broker IO 压力大或宕机 ...

Sat Dec 18 02:24:00 CST 2021 0 246
RocketMQ源码详解 | Broker · 其四:事务消息、批量消息、延迟消息

概述 在上文中,我们讨论了消费者对于消息拉取的实现,对于 RocketMQ 这个黑盒的心脏部分,我们顺着消息的发送流程已经将其剖析了大半部分。本章我们不妨乘胜追击,接着讨论各种不同的消息的原理与实现。 事务消息 概念 RocketMQ 中的事务消息功能,实际上是 分布式事务中的本地 ...

Sat Nov 20 01:28:00 CST 2021 0 273
linux文件系统详解

最近在做磁盘性能优化,需要结合文件系统原理去思考优化方向,因此借此机会进一步加深了对文件系统的认识。在看这篇文章之前,建议先看下前面一关于磁盘工作原理的解读。下面简单总结一些要点分享出来: 一、文件系统层次分析 由上而下主要分为用户层、VFS层、文件系统层、缓存层、块设备层、磁盘驱动层、磁盘 ...

Sat Mar 11 05:20:00 CST 2017 0 1750
详解ROS文件系统

本章主要介绍了ROS的工程结构,也就是ROS的文件系统结构。要学会建立一个ROS工程,首先要认识一个ROS工程,了解它们的组织架构,从根本上熟悉ROS项目的组织形式,了解各个文件的功能和作用,才能正确的进行开发和编程。 本章的主要内容有,介绍catkin的编译系统,catkin工作空间的创建和结构 ...

Tue Jun 23 19:33:00 CST 2020 0 1450
FAT文件系统详解

功能: 1.设想一下,如果你存放的文件多种多样,没有文件系统,这些文件的数据将被乱放,你写进去的好听歌曲再也没法读出来。 2.设想一下,如果你把数据写入,你根本不知道你放在哪里了,因此再也没法读取出来了。 3.设想一下,如果你想设计一个MP3,你如何把sd卡里的歌曲读取出来,这些歌曲 ...

Wed Nov 08 21:33:00 CST 2017 0 2130
proc文件系统详解

/proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux内核空间和用户间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的。本文对 /proc 虚拟文件系统进行了 ...

Mon Aug 13 05:38:00 CST 2018 0 1394
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM