如何吃透一個java項目

      網友投稿 829 2022-05-28

      見字如面,我是威哥,一個從普通二本院校畢業,從未曾接觸分布式、微服務、高并發到通過技術分享實現職場蛻變,成長為RocketMQ社區優秀布道師、大廠資深架構師,出版《RocketMQ技術內幕》一書,歡迎大家關注我,隨時可私信我,一起交流進步。

      如何吃透一個java項目

      我在嘗試學習RocketMQ之前未曾接觸過消息中間件,通過自己提煉的學習方法,最終出版《RocketMQ技術內幕》一書,并且成為RocketMQ社區優秀布道師,讓我有了一個非常亮眼的標簽,極大了提高的我的職場競爭力,在這里和大家分享一下我的方法。

      我根據多年的閱讀經驗,整理了這么一套方法:

      了解這款軟件的使用場景、以及架構設計中將承擔的責任。

      尋找官方文檔,從整體上把握這款軟件的設計理念。

      搭建自己的開發調試環境,運行官方提供Demo示例,為后續深入研究打下基礎。

      先主干流程再分支流程,注意切割,逐個擊破。

      接下來分享一下我在閱讀 RocketMQ 源碼時的一些經歷,盡量讓上述理論具有畫面感。

      1、了解 RocketMQ的應用場景

      MQ的使用場景是比較清晰的,它的兩大基本職責是解耦與削峰填谷。

      舉一個最簡單的場景:新用戶注冊送積分、送優惠券場景,其原始架構設計通常如下:

      可以看出用戶注冊和發優惠券,送積分是緊耦合的, 隨著業務不斷發展,活動部門提出在春節期間用戶注冊不送積分,發優惠券,而是贈送一個新春禮包,如果基于上述架構的話,需要去改動用戶注冊的主流程,違背了設計模式中的對修改關閉、對擴展開放的設計理念。

      MQ的出現,可以很好地解決上面的問題:

      通過引入MQ,用戶注冊主流程只需要完成注冊邏輯,并向MQ發送一條消息,然后活動模塊(送積分、送優惠券、送禮包)只需要訂閱MQ中的消息,進行對應的處理。

      這樣消息注冊主流程會非常的簡單,不管活動種類如何變化,注冊流程無需更改,這樣就實現了解耦。

      2 通讀官方文檔,從全局把握其設計理念

      了解使用場景以后,接下我們可以去查閱官方文檔,主要包括用戶設計文檔(架構設計),用戶使用手冊等,從全局了解其設計理念。

      通過通讀官方文檔,不僅可以得出MQ的整體脈絡(例如NameServer路由發現、消息發送、消息存儲、消息消費、消息過濾),也能對順序消費,零拷貝、同步刷盤、異步刷盤等“高端大氣上檔次”的高級特性產生興趣與好奇,驅動我們去閱讀其源碼,探究其實現細節,使得我們在閱讀源碼中進行一定的自我思考成為了可能。

      3、搭建開發調試環境

      不同的系統搭建方式也不同,我這里有一篇文章,手把手教你搭建RocketMQ調試環境,這里就不細說了。

      4 先主干,再分支

      在搭建好本地開發環境后,切忌直接用Debug去跟蹤消息發送的整體流程,因為這個流程實在是太長了,從比較粗粒度來看其流程如下圖所示:

      如果大家想一次性將上述流程的源碼全部看一遍,幾乎是不可能的。 因為消息發送高可用設計、消息存儲、刷盤、同步等機制,每個點詳細展開的工作都是海量的,我們沒有這么多連續的時間,所以適當的拆分非常有必要。

      經過這樣一分解,就能專注理解其某一塊的設計原理,所需要的連續時間也能大大減少,一口一口“吃”,最終完成整個體系的理解。

      好了,本文就介紹到這里了,您的一鍵三連是對我最大的鼓勵,當然可以加筆者微信:dingwpmz,備注CSDN,共同交流探討。

      Java 架構設計

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:基因數據分析軟件遷移-TRUST4
      下一篇:Android---給方法自動添加帶參數的注釋的快捷鍵設置
      相關文章
      亚洲AV无码专区在线亚| 亚洲欧洲日产国码在线观看| 国内精品久久久久久久亚洲| 亚洲AV无码1区2区久久| 一本色道久久88亚洲综合 | 激情内射亚洲一区二区三区| 在线日韩日本国产亚洲| 国产亚洲视频在线观看网址| 亚洲av日韩精品久久久久久a| 国产亚洲国产bv网站在线| 中文字幕精品三区无码亚洲| 亚洲色成人网站WWW永久四虎| 亚洲夂夂婷婷色拍WW47| 亚洲成a∨人片在无码2023| 亚洲一久久久久久久久| 亚洲av午夜电影在线观看| 亚洲精品无码av片| 国产一区二区三区亚洲综合| 国产成人+综合亚洲+天堂| 婷婷亚洲天堂影院| 男人的天堂亚洲一区二区三区 | 亚洲精品无码国产| 亚洲妇熟XXXX妇色黄| 亚洲AV电影院在线观看| 久久亚洲sm情趣捆绑调教| 亚洲大片免费观看| 亚洲一区二区无码偷拍| 久久精品国产亚洲AV电影网| 亚洲精品国产精品国自产观看| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲热妇无码AV在线播放| 久久久久久亚洲精品| 亚洲精品成人网站在线播放| 中文文字幕文字幕亚洲色| 亚洲GV天堂GV无码男同| 亚洲日韩国产成网在线观看| 毛茸茸bbw亚洲人| 亚洲日本精品一区二区| www.亚洲成在线| 免费观看亚洲人成网站| 亚洲无人区一区二区三区|