在《深入理解Java類加載機制,再也不用死記硬背了》里我提到了對于一門語言的“會”的三個層次,本篇將以知識地圖的形式展現學習訊息中間件MQ各個層次要掌握的內容,
知識地圖是一種知識導航系統,并顯示不同的知識存盤之間重要的動態聯系,所以本篇重點不是介紹某個知識點,而是介紹掌握訊息中間件,需要看哪些文章的導航,
訊息中間件MQ會的三個層次與黃金圈法則相對應,

What層:hello world 級別
What層:hello world 級別,知道它能做什么,在《RabbitMQ設計原理決議》里詳細介紹過,這里再講一遍,
MQ的主要作用有三個:
1、異步處理
示例一:在《架構師三大難-領域劃分問題》的示例三(異步處理模式)里,我用退款做示例講了MQ用作異步處理的場景,
示例二:還有一個典型的MQ的異步處理場景是日志采集,我所知道的公司,日志集中采集用的都是kafka,業務開發人員只需要專注自己的業務邏輯,將日志列印到磁盤上,kafka會異步的采集到日志服務器,
示例三:分布式事務中有一種常用的一致性解決方案:異步確保型解決方案,這個常用的就是基于MQ來實作,在《服務設計要解決的問題》里有這種場景的說明,
2、應用解耦
示例一:我有很多文章都是建立在應用解耦的基礎上:《Spring Kafka的異步Bug》、《一個反直覺的sql》背景是MQ的一端和另一端分別屬于兩個公司,
示例二:我在寫文章程序中,意識到自己遇到的場景可能和大家自己作業中的認知有一定距離,所以我寫了尤娜系列,事實上,由于自己寫文章時,都會對文章的論點進行驗證,所以尤娜是我幾年前開源的一個專案名
https://github.com/xiexiaojing/yuna
【編程一生】公眾號的文章代碼片段很多都能在上面找到,
《尤娜系統的第一次飛行中換引擎的架構垂直拆分改造》這篇文章就以故事的形式展示了使用MQ做應用拆分的業務背景及整個程序,由于咱們用戶群(可加我微信 brmayi 注明:入群)里反饋文章中沒有明確使用的拆分方法論,我補充了方法論篇:《四種常用的微服務架構拆分方式》,
3、流量削峰
示例一:在《從前,有一個簡單的通道系統叫尤娜……》這篇文章中,尤娜系統遇到的就是需要進行請求的削峰填谷,流量削峰我在《四種快取的避坑總結》里有明確寫道這是穩定性保障的一個重要舉措,尤娜文章中大家也應該能感受到吧!
How層:應用級別
How層:應用級別,知道怎么用MQ來實作功能,《應用角度看kafka的術語和功能》這篇文章里介紹了要達到這一層級所需的知識點,
這一層其實在網上能找到的資料最多,實際上就像開頭黃金圈的圖里畫的:也最淺,想在簡歷上“掌握”,還要進入下一層,
Why層:掌握級別
Why層:掌握級別,理解原理,遇到問題可以深入剖析到本質,想達到這一層,需要很多相關領域的知識,只要面試者水平不是太差,一般面試官都會問到這一層,以達到了解面試者綜合能力的目的,
示例一:《Kafka生產端實際專案中的使用分析》里提到了給kafka加代理和使用加密kafka的問題,
示例二:《架構視角-檔案的通用存盤原理》里把Kafka、Redis、關系型資料庫、搜索引擎的存盤拿出來對比,探討了存盤原理的本質問題,
示例三:《穩定性五件套-限流的原理和實作》從演算法層面來探討底層原理,
示例四:《避免線上故障的10條建議》里討論了使用MQ的風險和規避措施,
示例四:《實戰并發-使用分布式快取和有限狀態機》、《Spring Kafka的異步Bug》里說明了Kafka自身的設計問題和缺陷,以及怎么規避,
示例五:《深入理解MQ生產端的底層通信程序-理解channel》深入底層通信,深層理解MQ的本質,MQ本質上是解決通信的問題,《服務設計要解決的問題》里提到,技術本質上都解決三個問題:分布式、通信和存盤,想深入理解MQ,建議從《白話TCP/IP原理》開始理解通信,
總結
咱們用戶群(可加我微信 brmayi 注明:入群)里討論的問題,我喜歡看不發表評論,在大家的討論中,我其實可以收集很多的問題和大家的關注點,一兩句話太淺,我通常會寫文章來集中回答大家可能遇到的問題,
本篇也是咱們用戶朋友的提醒:“觀察到知識點是承上啟下的,是否可以搞一個目錄,當連載小說看”,我隔一段時間會做一期《歷史文章分類匯總》,但是這種分類的方法,文章之間的邏輯關系并不強,正好這篇文章可以順便介紹一下知識地圖這種邏輯關系,作為方法論的介紹,
最后解釋一下黃金圈法則:
西蒙·斯涅克在他的《從“為什么”開始》一書中提出了“黃金圈法則”的概念,他發現,人們一般向別人表達或者激勵時,常規路徑是:先現象,而后措施,最后是結果,這種路徑收效甚微,而真正能動人心的路徑應該是:先理念,而后措施,再到現象,最后是結果,
有朋友大概聽過這個名言:people don't buy what you do,they buy why you do it,大意是:人們買的不是你的產品而是你的理念,理念才是核心,掌握一個知識技能也是一樣,只有掌握到Why這個層次,才能形成核心競爭力,
因為公眾號平臺更改了推送規則,如果不想錯過內容,記得讀完點一下“在看”,加個“星標”,這樣每次新文章推送才會第一時間出現在你的訂閱串列里,
PDCA方法論,檢查自己是否錯過更新:每周三晚上8點左右,我都會更新文章,如果你沒有收到,記得點開【編程一生】公眾號找一下(*^▽^*)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/455523.html
標籤:其他
