這段時間抱既,寫了一系列關(guān)于消息中間件的博客,現(xiàn)將它們匯總蚀之,一方面便于大家查閱捷泞,另一方面,也分享一下我用閱讀一本書的方法肚邢,來學(xué)習(xí)一項新技術(shù)的一些心得。
粗讀
一本書,上來就翻開第一頁响蕴,一直讀到最后一頁惠桃,這是在讀教科書,只有老師講課時才可能這樣做辜王。
更好的方法,是先看看書評肥缔,再把書快速瀏覽一遍汹来,知道大概在講些什么。
同樣收班,要學(xué)習(xí)一個中間件,最好的方法社付,也不是上來就直接安裝、搭建環(huán)境鸥咖、跑hello world扛或。
因為在安裝和運行的過程中,你可能會遇到一些坑熙兔,會花費你不少時間去上網(wǎng)搜解決方案,你的滿腔學(xué)習(xí)熱情麸锉,可能會被澆滅舆声,甚至你很不幸,在你的機器上媳握,安裝時遇到了一個大坑,那你的學(xué)習(xí)之旅也就到此結(jié)束了娩脾,出師未捷身先死打毛。
個人推薦的學(xué)習(xí)方法,是先回答兩個問題:
- 為什么要使用這個中間件
- 這個中間件的大致實現(xiàn)原理碰声,比如由哪些組件構(gòu)成熬甫,各自起到什么作用等
所以,學(xué)習(xí)消息中間件罗珍,首先要問自己,為什么需要消息中間件蘸朋?不用會怎么樣扣唱?用了又有什么好處团南?
然后炼彪,再去了解消息中間件的某個具體實現(xiàn),比如說Nsq拷橘,通過閱讀官方文檔喜爷,了解它的大致結(jié)構(gòu)。
這就是這系列文章的第一篇:MQ(1) —— 從隊列到消息中間件檩帐,我從一條隊列開始,給你演示了隊列是如何一步步進化為消息中間件的诅挑。
事實上泛源,所有的MQ,都可以從一條隊列開始研究俩由,看他們是如何往隊列上面添加功能幻梯,最后形成一個中間件的努释。
了解完這些之后,如果你對這個領(lǐng)域真的感興趣伐蒂,再去安裝、搭建環(huán)境恩沛、跑hello world缕减,這時候,由于你已經(jīng)對這個中間件有一定了解桥狡,定位問題或者看網(wǎng)上解決方案時也更加輕松。
提問
現(xiàn)在你已經(jīng)大致翻看了一遍部逮,覺得這本書不錯,想繼續(xù)深入閱讀掐禁,從哪讀起呢颅和?
這時候不妨向自己主動發(fā)問,通過提問的方式融虽,去逼迫自己到書中尋找答案。
同樣般又,了解完Nsq的幾個組件巍佑,就不妨問問自己,一條消息堕义,從生產(chǎn)者發(fā)布脆栋,到被消費者消費,這一整個流程椿争,是怎么樣的?這就是第二篇文章所回答的問題:MQ(2) —— 一條消息是如何從生產(chǎn)到被消費的
研讀
現(xiàn)在你已經(jīng)翻看了一遍褐捻,也已經(jīng)通過提問的方式椅邓,解決了翻看過程中發(fā)現(xiàn)的一些疑惑。
但是你總覺得還不夠板壮,這本書還有精髓沒被自己發(fā)現(xiàn)裁僧,于是你決定再仔細(xì)地讀一遍慕购。
同樣茬底,你覺得這個中間件還有很多細(xì)節(jié)性的知識,于是你決定重新對它審視一番殿如,你打開官方文檔最爬,從頭到尾讀一遍,或者在谷歌上搜索一些博客爱致,又或者找來一些書籍,總之帮坚,你想對這個中間件互艾,有一個徹頭徹尾的了解,這就是第三篇文章:MQ(3) —— 刨根問底
同主題閱讀
你已經(jīng)讀完了這本書了阅悍,但是你還是覺得不滿足昨稼,也許這本書是《哈姆雷特》,你驚嘆于莎翁的筆法肴茄,于是你去找了他寫的另一本書但指,《麥克白》抗楔;也許這本書是南懷瑾的《論語別栽》,你想看看別人對論語的理解连躏,于是你找來了李霖的《喪家狗》和《去圣乃得真孔子》......
同樣入热,學(xué)完了Nsq晓铆,這個輕量級的消息中間件绰播,你覺得還不夠,你想看看別人是怎么實現(xiàn)的蠢箩,于是你找來了Kafka,在對比中繼續(xù)學(xué)習(xí)谬泌,這就是第五篇文章:MQ(5) —— Nsq vs Kafka掌实,在此之前,你還嘗試總結(jié)了一下這個領(lǐng)域的通用知識贱鼻,這是第四篇文章:MQ(4) —— 如何設(shè)計一個靠譜的消息中間件
身臨其境
現(xiàn)在你已經(jīng)“走火入魔”了,你被你這段時間來所研究的主題深深的吸引住嘱腥,你看完了大家們對《論語》的解讀拘悦,也想結(jié)合自己的經(jīng)歷,嘗試解讀一番分苇,這就是大量輸入后的主動輸出屁桑。
同樣,你學(xué)習(xí)了Nsq靖秩,又了解了Kafka竖瘾,甚至還學(xué)習(xí)了其他一些MQ,你覺得把你“畢生所學(xué)”整合起來惠拭,設(shè)計一套自己的MQ庸论,當(dāng)然棒呛,你完全可以“站在巨人的肩膀”域携,選擇其中一個開源軟件,開啟你的構(gòu)建之旅宰睡,這就是最后一篇文章:MQ(6) —— Nsq in 有贊
我想气筋,閱讀一本書和學(xué)習(xí)一項編程技術(shù),兩者的相似麸恍,就如同寫作之于編程吧搀矫。
寫的一手好文章的人,大概寫出來的代碼瓤球,也很優(yōu)雅。
懂得如何閱讀一本書的人噪馏,在學(xué)習(xí)一個新領(lǐng)域的知識時绿饵,也會游刃有余。
以上刺桃。