Hope is a good thing, maybe the best of things, and no good thing ever dies. 希望是件美麗的東西,也許是最好的東西,而美好的東西是永遠不會消逝的。 大家好,我是勇哥 。 1024 , 程式員節,圓了我一個小小的夢。 花了半年 ...
Hope is a good thing, maybe the best of things, and no good thing ever dies.
希望是件美麗的東西,也許是最好的東西,而美好的東西是永遠不會消逝的。
大家好,我是勇哥 。
1024 , 程式員節,圓了我一個小小的夢。
花了半年時間,我寫了一本電子書 ,書名是:《RocketMQ4.X設計精要》,我想在今天分享給各位。
這本書一共包含十五章,接近 10 萬字,180 張圖,按照 RocketMQ 的知識體系一章一章展開。
很多年前,一位七牛的資深架構師曾經說過這樣一句話:
Nginx+ 業務邏輯層 + 資料庫 + 緩存層 + 消息隊列 ,這種模型幾乎能適配絕大部分的業務場景 。
這麼多年過去了,這句話或深或淺地影響了我的技術選擇,以至於後來我花了很多時間去重點學習緩存、消息隊列相關的技術。
2014年,是我和 RocketMQ 結緣的一年。
我那時服務於藝龍旅行網,深感自己能力的欠缺,我非常想學習消息隊列的知識,但當時互聯網上開源的消息隊列並不能讓我滿意。
讀了子柳老師的《淘寶技術這十年》後,我搜羅了很多淘寶消息隊列的資料,我知道MetaQ 的版本已經升級 MetaQ 3.0,只是開源版本還沒有放出來。
2014 年秋 ,當 RocketMQ 開源出來之後 ,我興奮異常,迫不及待的一睹其風采,至今我都能記得當時內心的雀躍。
我想學網路編程,RocketMQ 的通訊模塊 remoting 底層也是 Netty 寫的。我學習切入點是 RocketMQ 的通訊模塊。
首先我模仿 RocketMQ 的通訊模塊寫了一個玩具的rpc
,在 IDEA 中絲滑列印生產者/消費者的日誌,感覺自己充滿了能量。
不久之後,藝龍舉辦技術創新活動,我想想,要不嘗試一下用 Netty 改寫下 Cobar
的通訊模塊。
於是參考 Cobar
的源碼花了兩周寫了個 netty 版的 proxy
,其實非常粗糙,很多功能不完善。只是沒有想到,活動頒給我一個鼓勵獎,現在想想既有趣又有點激勵。
這就是我學習 RocketMQ 的起點,一個非常美好的起點。
在接下來的職業生涯中 ,我不斷在業務中使用 RocketMQ :
- 直播答題:RocketMQ 廣播模式推送題目 ;
- 參考阿裡雲 ONS 封裝 RocketMQ 框架 ;
- 使用 RocketMQ 通訊框架實現任務調度系統 ;
- 使用 RocketMQ 作為簡訊平臺的基座 ;
- 重構 RocketMQ 控制台支持多集群 。
通過 RocketMQ ,我學習到了很多的編程知識,比如多線程技巧、網路編程 、文件存儲,同時面對各種技術問題處理起來也更加從容和自信。
緩存、分庫分表、消息隊列是高併發解決方案三劍客,是架構師必須掌握的知識點。
我寫這本電子書,是想幫助後端工程師快速掌握 RocketMQ 的相關知識點,提升他們的技術認知。
假如朋友們能通過這本電子書,快速成長,那將是一件令我非常快樂的事情。
因為我自己的能力有限,書中肯定存在紕漏和錯誤之處,歡迎溝通指正,非常感謝 :)
微信搜索「勇哥java實戰分享」關註後,在後臺回覆「mq」即可獲取《RocketMQ 4.X 設計精要》pdf 。