<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          朋友新書,老梁參與審稿,當當網(wǎng)5折優(yōu)惠

          共 7491字,需瀏覽 15分鐘

           ·

          2021-10-25 11:16

          《RocketMQ技術內(nèi)幕》第二版上市啦,當當網(wǎng)5折優(yōu)惠,更有滿200送50,滿300送80的優(yōu)惠活動,活動直達海報:



          隨著互聯(lián)網(wǎng)技術的蓬勃發(fā)展和微服務架構(gòu)的普遍應用,加上大數(shù)據(jù)分析及高并發(fā)流量場景的復雜度越來越高,系統(tǒng)架構(gòu)開始追求小型化、輕量化,為此我們也需要擁有高性能、高可用、低延遲、支持順序、支持容錯、支持事務等功能的消息中間件來支撐互聯(lián)網(wǎng)高速發(fā)展。目前,RPC、服務治理、分布式、消息中間件已經(jīng)成為互聯(lián)網(wǎng)架構(gòu)的標配。


          引入消息中間件后,服務之間就可以通過可靠的異步調(diào)用來降低系統(tǒng)之間的耦合度,提高系統(tǒng)的可用性。消息中間件具有高效的消息處理能力,可以讓系統(tǒng)承接大數(shù)據(jù)量的并發(fā)及流量脈沖而不被擊垮,在保證性能的同時改善了用戶體驗。此外,消息中間件還可以解決系統(tǒng)之間數(shù)據(jù)的一致性(最終一致性)問題。


          RocketMQ作為阿里開源的一款高性能、高吞吐量的消息中間件,承載了阿里“雙11”的大部分業(yè)務,可以說是一名久經(jīng)戰(zhàn)場的“精英”、值得信任的“伙伴”。它采用 Java作為開發(fā)語言,自然而然得到了廣大互聯(lián)網(wǎng)架構(gòu)師的青睞,并成為互聯(lián)網(wǎng)行業(yè)首選的消息中間件。


          初次接觸RocketMQ是在聽到它被阿里巴巴正式捐獻給Apache基金會,成為Apache的頂級開源項目時。這意味著承載阿里“雙11”巨大流量的消息中間件完全開源,對廣大Java開發(fā)者來說無疑是一個巨大的利好,讓我們有機會一睹高性能消息中間件RocketMQ的“真容”。作為一名阿里技術崇拜者,我內(nèi)心異常激動,于是不假思索地在CSDN上開通了專欄“源碼研究RocketMQ”,并受到了廣大技術愛好者的支持。


          RocketMQ作為一款高性能消息中間件,其核心優(yōu)勢是可靠的消息存儲、高性能且低延遲的消息發(fā)送、強大的消息堆積能力與消息處理能力、嚴格的順序消息模式等。RocketMQ的另一個核心優(yōu)勢是懂得取舍。軟件設計不可能做到面面俱到,消息中間件的理想狀態(tài)是一條消息能且只能被消費一次,要做到這一點,必然需要犧牲性能。


          RocketMQ的設計者解決這一難題的辦法是不去解決,即保證消息至少被消費一次,但不承諾消息不會被消費者多次消費,其消費的冪等由消費者實現(xiàn),從而極大地簡化了實現(xiàn)內(nèi)核,提高了RocketMQ的整體性能。RocketMQ被捐獻給Apache基金會后一直在快速發(fā)展,相關OpenMessaging 的標準也已經(jīng)發(fā)布。


          想要深入了解RocketMQ,歡迎閱讀新出版的《RocketMQ技術內(nèi)幕:RocketMQ架構(gòu)設計與實現(xiàn)原理(第2版)》一書。本書的寫作目的是與各位讀者探討RocketMQ的實現(xiàn)原理,幫助讀者更好地在實際項目中應用 RocketMQ。



          本書從源碼的角度對RocketMQ的實現(xiàn)原理進行詳細剖析。作為一本源碼閱讀類圖書,本書的講解切入點并不是組成RocketMQ的一個個源碼包,而是功能模塊(如topic路由中心、消息發(fā)送、消息存儲、消息消費、事務消息),這樣更加貼近實戰(zhàn)需求。




          01

          本書特色



          NO.1?作者經(jīng)驗豐富?

          作者是RocketMQ社區(qū)的早期布道師和RocketMQ官方評選的“優(yōu)秀布道師”,有大量實戰(zhàn)經(jīng)驗的中通和圓通的資深架構(gòu)專家。


          NO.2?RocketMQ官方推薦

          RocketMQ官方推薦:RocketMQ創(chuàng)始人/Alibaba Messaging開源技術負責人/Linux OpenMessaging創(chuàng)始人高度評價并作序推薦。


          NO.3?暢銷書全新升級

          第1版廣獲好評,成為RocketMQ領域標志性作品,第2版在源碼分析的基礎上增加了豐富的圖文總結(jié),同時在核心功能解讀及使用技巧方面做了重大更新。


          NO.4?全方位剖析源碼

          從源碼角度分析RocketMQ的技術架構(gòu)以及消息發(fā)送、消息存儲、消息消費、消息過濾、順序消息、主從同步、事務消息等的實現(xiàn)原理。


          NO.5?以用好RocketMQ為導向

          揭示RocketMQ高性能、高可用、高吞吐量、低延遲的秘密。



          02

          本書主要內(nèi)容




          這是一本指導讀者如何在實踐中讓RocketMQ實現(xiàn)高性能、高可用、高吞吐量和低延遲的著作。


          全書一共11章,分為3個部分


          第一部分準備篇(第1章)

          簡單介紹了RocketMQ的設計理念與目標,以及閱讀RocketMQ源碼的方法與技巧;


          第二部分實現(xiàn)篇(第2~9 章)

          從源碼角度對RocketMQ的技術架構(gòu)以及消息發(fā)送、消息存儲、消息消費、消息過濾、順序消息、主從同步、事務消息等主要功能模塊的實現(xiàn)原理進行了深入分析;


          第三部分實例篇(第10~11?章)

          首先從實戰(zhàn)的角度講了RocketMQ監(jiān)控的原理、實現(xiàn)和應用,然后通過各種類型的大量示例展示了RocketMQ的使用技巧。



          03

          讀者對象



          本書適合以下幾類讀者閱讀:

          • RocketMQ的用戶和愛好者;?

          • RocketMQ代碼開發(fā)志愿者;?

          • Java中高級開發(fā)工程師;?

          • Java架構(gòu)師;?

          • Java開源相關技術人員。?



          04

          第2版的更新要點



          NO.1?

          結(jié)合RocketMQ最新版本進行全面更新;

          NO.2?

          優(yōu)化了整體的章節(jié)結(jié)構(gòu);

          NO.3

          新增消息軌跡、ACL、主從切換、同步雙寫等新內(nèi)容的解讀;

          NO.4?

          在每章前增加了邏輯架構(gòu)圖,結(jié)合圖闡述工作原理;

          NO.5?

          對重點內(nèi)容增加了流程圖和補充說明,便于理解;

          NO.6?

          刪除了FilterServer,增加了RocketMQ監(jiān)控,內(nèi)容更加精簡。



          05

          作者簡介




          丁威? ??

          中間件技術專家,資深RocketMQ技術專家,曾獲RocketMQ官方頒發(fā)的“優(yōu)秀布道師”稱號。


          現(xiàn)擔任中通快遞技術平臺部資深架構(gòu)師,主要負責全鏈路壓測、消息中間件、數(shù)據(jù)同步等產(chǎn)品的研發(fā)與落地,擁有千億級消息集群的運維經(jīng)驗,不僅實踐經(jīng)驗豐富,而且對RocketMQ的源碼有深入、系統(tǒng)的研究。


          熱衷于中間件領域的技術分享,榮獲“CSDN 2020博客之星”等榮譽稱號,維護“中間件興趣圈”,更多精彩內(nèi)容,可以關注公眾號。

          ?

          張登

          ?專家級架構(gòu)師,資深RocketMQ技術專家,在分布式系統(tǒng)架構(gòu)領域有豐富的實戰(zhàn)經(jīng)驗,擅長高并發(fā)系統(tǒng)的架構(gòu)設計與調(diào)優(yōu),主導過多家快遞公司EA規(guī)劃。


          曾就職于拼多多、德邦等公司,現(xiàn)任圓通科技公司技術平臺部架構(gòu)負責人,負責開發(fā)框架的搭建、中間件及混合云相關技術的平臺化建設。主導設計過消息分發(fā)、API網(wǎng)關、全鏈路監(jiān)控、分布式文件存儲等多個涉及百億級規(guī)模的基礎服務平臺。


          “IT巔峰技術”公眾號維護者,RocketMQ上海社區(qū)聯(lián)合創(chuàng)始人。

          ?

          周繼鋒

          資深RocketMQ技術專家,知名開源分布式數(shù)據(jù)庫中間件Mycat負責人。


          擁有10余年大型項目架構(gòu)設計及實戰(zhàn)經(jīng)驗,曾主導過大量分布式、微服務、大數(shù)據(jù)相關的項目。在高并發(fā)、高可用、高可擴展性、高可維護性等領域有豐富經(jīng)驗,對Hadoop、Spark的源碼進行過深度分析并具有豐富的實戰(zhàn)經(jīng)驗。


          曾在醫(yī)學、互聯(lián)網(wǎng),SAAS行業(yè)擔任資深架構(gòu)師、技術總監(jiān)等職務?,F(xiàn)任煉數(shù)成金高級講師,廣州鼎牛網(wǎng)絡、金石數(shù)字創(chuàng)始人。




          06

          專家推薦



          RocketMQ創(chuàng)始人/Linux OpenMessaging主席馮嘉作序推薦,眾多技術專家聯(lián)名推薦


          丁威在中通負責消息中間件項目,結(jié)合中通千億級別的消息流轉(zhuǎn)場景,以實戰(zhàn)為目標對RocketMQ源碼進行了深入研究,對RocketMQ的設計形成了獨到見解。本書對于想深入學習RocketMQ的讀者,將會有很大的幫助。


          ——肖文科 中通科技技術中臺負責人

          ?

          本書第1版幫助無數(shù)用戶走進了RocketMQ的大門,第2版不僅增加了對Raft存儲、同步雙寫、消息軌跡等核心特性的解讀,還增加了丁威維護線上超大規(guī)模集群的經(jīng)驗總結(jié)。閱讀本書將提升你對云原生架構(gòu)設計理念的認知。

          ——杜恒 Apache RocketMQ PMC成員/Linux OpenMessaging TSC成員/阿里云消息專有云及開源生態(tài)負責人

          ?

          第2版的內(nèi)容更加充實,從架構(gòu)設計到技術細節(jié),本書全方位解讀了RcoketMQ的實現(xiàn)原理,是一本難得的好書。

          ——張玉龍 美團技術專家/Dromara開源作者

          ??

          本書深入淺出地介紹了RocketMQ的工作原理,讓讀者知其然且知其所以然,逐步掌握RocketMQ的底層工作機制。本書還系統(tǒng)地講解了RocketMQ的監(jiān)控手段和監(jiān)控指標,讓讀者對RocketMQ的運行情況了然于胸。

          ——劉建剛 資深消息專家/字節(jié)跳動資深工程師

          ?

          本書從源碼角度切入,對RocketMQ的實現(xiàn)原理進行了深度剖析,非常系統(tǒng)地對RocketMQ的設計精髓進行了解密,對于讀者更深入地理解 RocketMQ有非常好的指導意義。

          ——駱俊武 京東零售某業(yè)務的機構(gòu)負責人

          ?

          源碼之前,了無秘密,本書把RocketMQ的源碼翻了個底朝天,看透了它的“秘密”。本書抽絲剝繭、層層深入,既有高屋建瓴的總體介紹,又有細致入微的源碼分析,幫助讀者輕松理解RocketMQ的具體實現(xiàn),是深入學習RocketMQ的必備資料,強烈推薦!

          ——劉欣 前IBM架構(gòu)師/公眾號“碼農(nóng)翻身”維護者



          07

          目錄



          第1章 閱讀源碼前的準備1

          1.1 獲取和調(diào)試RocketMQ的源碼1

          1.1.1 Eclipse獲取RocketMQ源碼1

          1.1.2 Eclipse調(diào)試RocketMQ源碼8

          1.1.3 IntelliJ IDEA獲取RocketMQ源碼14

          1.1.4 IntelliJ IDEA調(diào)試RocketMQ源碼16

          1.2 RocketMQ源碼的目錄結(jié)構(gòu)23

          1.3 RocketMQ的設計理念和設計目標23

          1.3.1 設計理念23

          1.3.2 設計目標24

          1.4 本章小結(jié)26

          第2章 RocketMQ路由中心NameServer27

          2.1 NameServer架構(gòu)設計27

          2.2 NameServer啟動流程29

          2.3 NameServer路由注冊、故障剔除32

          2.3.1 路由元信息32

          2.3.2 路由注冊35

          2.3.3 路由刪除40

          2.3.4 路由發(fā)現(xiàn)43

          2.4 本章小結(jié)44

          第3章 RocketMQ消息發(fā)送46

          3.1 漫談RocketMQ消息發(fā)送46

          3.1.1 topic路由機制47

          3.1.2 消息發(fā)送高可用設計48

          3.2 認識RocketMQ消息50

          3.3 生產(chǎn)者啟動流程51

          3.3.1 初識DefaultMQProducer51

          3.3.2 消息生產(chǎn)者啟動流程54

          3.4 消息發(fā)送基本流程55

          3.4.1 消息長度驗證56

          3.4.2 查找主題路由信息57

          3.4.3 選擇消息隊列60

          3.4.4 消息發(fā)送65

          3.5 批量消息發(fā)送72

          3.6 本章小結(jié)74

          第4章 RocketMQ消息存儲75

          4.1 存儲概要設計75

          4.1.1 RocketMQ存儲文件的組織方式76

          4.1.2 內(nèi)存映射80

          4.1.3 靈活多變的刷盤策略81

          4.1.4 transientStorePoolEnable機制82

          4.1.5 文件恢復機制82

          4.2 初識消息存儲83

          4.3 消息發(fā)送存儲流程84

          4.4 存儲文件組織與內(nèi)存映射90

          4.4.1 MappedFileQueue映射文件隊列90

          4.4.2 MappedFile內(nèi)存映射文件92

          4.4.3 TransientStorePool99

          4.5 RocketMQ存儲文件100

          4.5.1 CommitLog文件101

          4.5.2 ConsumeQueue文件102

          4.5.3 Index文件106

          4.5.4 checkpoint文件110

          4.6 實時更新ConsumeQueue與Index文件111

          4.6.1 根據(jù)消息更新ConsumeQueue文件113

          4.6.2 根據(jù)消息更新Index文件114

          4.7 ConsumeQueue與Index文件恢復115

          4.7.1 Broker正常停止文件恢復118

          4.7.2 Broker異常停止文件恢復120

          4.8 文件刷盤機制121

          4.8.1 Broker同步刷盤122

          4.8.2 Broker異步刷盤125

          4.9 過期文件刪除機制128

          4.10 同步雙寫132

          4.11 本章小結(jié)136

          第5章 RocketMQ消息消費137

          5.1 RocketMQ消息消費概述137

          5.1.1 消費隊列負載機制與重平衡138

          5.1.2 并發(fā)消費模型139

          5.1.3 消息消費進度反饋機制139

          5.2 消息消費者初探141

          5.3 消費者啟動流程143

          5.4 消息拉取146

          5.4.1 PullMessageService實現(xiàn)機制147

          5.4.2 ProcessQueue實現(xiàn)機制149

          5.4.3 消息拉取基本流程150

          5.5 消息隊列負載與重新分布機制167

          5.6 消息消費過程175

          5.6.1 消息消費176

          5.6.2 消息確認180

          5.6.3 消費進度管理184

          5.7 定時消息機制189

          5.7.1 load()方法190

          5.7.2 start()方法190

          5.7.3 定時調(diào)度邏輯192

          5.8 消息過濾機制194

          5.9 順序消息199

          5.9.1 消息隊列負載199

          5.9.2 消息拉取200

          5.9.3 消息消費201

          5.9.4 消息隊列鎖實現(xiàn)208

          5.10 本章小結(jié)209

          第6章 RocketMQ的ACL210

          6.1 什么是ACL210

          6.2 如何使用ACL211

          6.2.1 Broker端開啟ACL211

          6.2.2 客戶端使用ACL212

          6.3 ACL實現(xiàn)原理214

          6.3.1 Broker端ACL核心入口214

          6.3.2 PlainAccessValidator詳解216

          6.3.3 PlainPermissionManager詳解220

          6.3.4 AclClientRPCHook詳解228

          6.4 本章小結(jié)231

          第7章 RocketMQ主從同步機制232

          7.1 RocketMQ主從同步原理232

          7.1.1 HAService整體工作機制233

          7.1.2 AcceptSocketService實現(xiàn)原理233

          7.1.3 GroupTransferService實現(xiàn)原理235

          7.1.4 HAClient實現(xiàn)原理236

          7.1.5 HAConnection實現(xiàn)原理239

          7.2 RocketMQ讀寫分離機制245

          7.3 RocketMQ元數(shù)據(jù)同步248

          7.3.1 從節(jié)點主動同步元數(shù)據(jù)249

          7.3.2 主節(jié)點消息拉取主動同步消費進度250

          7.4 本章小結(jié)251

          第8章 RocketMQ消息軌跡252

          8.1 消息軌跡的引入目的和使用方法252

          8.2 消息軌跡設計原理255

          8.2.1 消息軌跡數(shù)據(jù)格式255

          8.2.2 如何采集軌跡數(shù)據(jù)256

          8.2.3 如何存儲消息軌跡數(shù)據(jù)257

          8.3 消息軌跡實現(xiàn)原理257

          8.3.1 尋找消息軌跡入口257

          8.3.2 消息發(fā)送軌跡數(shù)據(jù)259

          8.3.3 消息軌跡異步轉(zhuǎn)發(fā)實現(xiàn)機制261

          8.4 本章小結(jié)265

          第9章 RocketMQ主從切換266

          9.1 主從切換引入目的266

          9.2 Raft協(xié)議簡介267

          9.2.1 Leader選舉267

          9.2.2 日志復制268

          9.3 RocketMQ DLedger主從切換之Leader選主269

          9.3.1 DLedgerLeaderElector核心類及核心屬性270

          9.3.2 選舉狀態(tài)管理器初始化271

          9.3.3 選舉狀態(tài)機狀態(tài)流轉(zhuǎn)273

          9.3.4 發(fā)送投票請求與處理投票請求280

          9.3.5 發(fā)送心跳包與處理心跳包283

          9.4 RocketMQ DLedger主從切換之存儲實現(xiàn)288

          9.4.1 RocketMQ DLedger核心類及核心屬性288

          9.4.2 RocketMQ DLedger數(shù)據(jù)存儲協(xié)議290

          9.4.3 RocketMQ DLedger索引存儲協(xié)議291

          9.5 RocketMQ DLedger主從切換之日志追加291

          9.5.1 日志追加流程概述291

          9.5.2 判斷Push隊列是否已滿293

          9.5.3 Leader節(jié)點日志存儲293

          9.5.4 Leader節(jié)點等待從節(jié)點日志復制響應ACK298

          9.6 RocketMQ DLedger主從切換之日志復制299

          9.6.1 日志復制設計理念300

          9.6.2 日志復制類設計體系301

          9.6.3 日志轉(zhuǎn)發(fā)303

          9.7 RocketMQ整合DLedger設計技巧與實現(xiàn)原理326

          9.7.1 數(shù)據(jù)存儲兼容設計327

          9.7.2 數(shù)據(jù)存儲兼容實現(xiàn)原理328

          9.7.3 主從切換元數(shù)據(jù)同步機制337

          9.8 RocketMQ主從切換實戰(zhàn)344

          9.8.1 主從切換核心配置屬性344

          9.8.2 搭建主從同步環(huán)境344

          9.8.3 主從同步集群升級到主從切換346

          9.9 本章小結(jié)350

          第10章 RocketMQ監(jiān)控352

          10.1 設計理念352

          10.2 實現(xiàn)原理353

          10.2.1 監(jiān)控相關類圖353

          10.2.2 監(jiān)控原始數(shù)據(jù)采集流程355

          10.3 監(jiān)控數(shù)據(jù)采樣機制356

          10.3.1 監(jiān)控數(shù)據(jù)采樣356

          10.3.2 根據(jù)采樣計算統(tǒng)計指標357

          10.4 如何采集監(jiān)控指標359

          10.5 監(jiān)控實戰(zhàn)應用360

          10.6 本章小結(jié)365

          第11章 RocketMQ實戰(zhàn)366

          11.1 消息批量發(fā)送366

          11.2 消息發(fā)送隊列自選擇367

          11.3 消息過濾368

          11.3.1 TAG過濾模式368

          11.3.2 SQL過濾模式368

          11.3.3 類過濾模式369

          11.4 事務消息371

          11.5 Spring整合RocketMQ375

          11.6 Spring Cloud整合RocketMQ376

          11.7 RocketMQ監(jiān)控與運維命令384

          11.7.1 搭建RocketMQ監(jiān)控平臺rocketmq-console384

          11.7.2 RocketMQ管理命令387

          11.8 應用場景分析423

          11.9 實戰(zhàn)案例424

          11.9.1 RocketMQ集群線上故障縮容實戰(zhàn)案例424

          11.9.2 RocketMQ在線擴容實戰(zhàn)427

          11.10 本章小結(jié)430

          附錄 A 參數(shù)說明431

          附錄B RocketMQ各版本概述與升級建議436

          重要的事情要說兩遍,RocketMQ技術內(nèi)幕》第二版上市啦,當當網(wǎng)5折優(yōu)惠,更有滿200送50,滿300送80的優(yōu)惠活動,活動直達海報:


          (、)。

          瀏覽 22
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99re免费视频 | 精品久久中文字幕 | 国产色婷婷手机在线 | 中文字幕一区二区三区日本在线 | 一区二区三区四区五区六区在线 |