原文: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