????? ? 踩坑”屎“寫到了dubbo這里酸役,詳細(xì)很多人會(huì)好奇住诸,我忽然想起來當(dāng)年切換到spring cloud的決策過程還是滿艱辛的,整個(gè)過程涣澡,我自己做了許多調(diào)研贱呐,可能很多調(diào)研的細(xì)節(jié)都已經(jīng)忘掉了,今天就把當(dāng)初做決策過程的一些零碎的記憶拼湊在一起入桂,寫個(gè)系列文章奄薇。
? ? ? ? 記得在17年的時(shí)候,dubbo還是很多公司的主流抗愁,即便到現(xiàn)在馁蒂,我了解的公司里還是有很多公司依然在沿用dubbo,這里主要有幾點(diǎn):
? ? ? ? 1蜘腌、dubbo雖然只是一個(gè)服務(wù)化的體系远搪,但在cloud全家桶沒有普及前,dubbo的周邊還是相當(dāng)多的逢捺。
? ? ? ? 2、當(dāng)時(shí)做服務(wù)化的時(shí)候癞季,雖然也有一些服務(wù)化技術(shù)產(chǎn)品劫瞳,但實(shí)際上資料最多的社區(qū)最火的還是dubbo,我記得當(dāng)時(shí)有當(dāng)當(dāng)改版的dubbox(新加了一些feature具體請(qǐng)谷歌吧~)绷柒、微博的Motan志于、facebook的thrift、grpc等服務(wù)化架構(gòu)废睦,其中motan雖然開源的時(shí)候聲音較大伺绽,但實(shí)際上我沒聽到身邊有多少人采用。thrift雖然很好用嗜湃,支持多語言奈应,但在中國并不火,因?yàn)橹袊€是java占統(tǒng)治地位的购披。gpc出現(xiàn)的比較晚杖挣,并且,grpc有一個(gè)缺點(diǎn)就是刚陡,api還是需要通過工具去生成惩妇,略重株汉,這點(diǎn)和dubbo很像。而dubbo我記得停止更新了很久了歌殃,最后一個(gè)版本是2.5.4吧乔妈,比起當(dāng)當(dāng)?shù)膁ubbox還是缺少了一些有用的特性。
? ? ? ? 3氓皱、社區(qū)的活躍路召、網(wǎng)上的資料,dubbo是絕對(duì)統(tǒng)治級(jí)別的匀泊,尤其是在杭州這個(gè)地方优训,dubbo簡(jiǎn)直就像是java一樣,是每個(gè)后端程序員必須會(huì)的各聘。
? ? ? ? 因此揣非,dubbo在spring cloud沒有全面崛起之前,在17年一樣是很多公司的首選躲因。當(dāng)時(shí)的技術(shù)發(fā)展早敬,其實(shí)還是有很多選型的空間的,這些中間件來自于各個(gè)不同的公司大脉,不同的代碼風(fēng)格搞监,甚至不同的jar包的版本號(hào),這給公司的技術(shù)融合帶來了很大的困難镰矿。比如琐驴,jdk7升級(jí)到j(luò)dk8的話,你會(huì)發(fā)現(xiàn)秤标,很多中間件并不支持绝淡,這時(shí)候,你需要維護(hù)這些開源的中間件苍姜,把他們做一次升級(jí)牢酵,這中間的成本和風(fēng)險(xiǎn),可想而知衙猪。
? ? ? ? 那我們就通過服務(wù)端的技術(shù)選型來了解下公司的一些公司的技術(shù)體系吧馍乙,等下我去畫個(gè)草圖
? ? ????上圖是服務(wù)端的一些架構(gòu)體系圖,其實(shí)還可以畫的更細(xì)一些垫释,但為了能從更高一點(diǎn)的角度去討論這兩套生態(tài)丝格,我還是把粒度放的稍微大一些。
? ? ? ? 其實(shí)我面試過的候選人饶号,在P6實(shí)力左右的人铁追,大都無法能完整的把這套生態(tài)畫出來,可能他們懂茫船,但思維體系缺少結(jié)構(gòu)化琅束、系統(tǒng)化扭屁;以后在面試后端leader或者資深的時(shí)候,也可以考慮讓大家畫一下后端的架構(gòu)圖涩禀。關(guān)于前端和客戶端的架構(gòu)體系料滥,以后我會(huì)再畫一下。
? ? ? ? 家里賊熱艾船,堅(jiān)持不住了葵腹,后面我會(huì)按照這里面所有組件,我先來個(gè)拋磚引玉吧屿岂,我們最常用的緩存是redis践宴,但實(shí)際上redis一樣經(jīng)歷了很多的年的進(jìn)化;從最開始的redis主從爷怀、通過keepalived實(shí)現(xiàn)的高可用集群阻肩、哨兵模式、一致性哈希緩存集群运授、redis中間件(Twemproxy烤惊、codis等)、到目前的redis3.x的cluster方案吁朦,每一種演變都有它的進(jìn)化史柒室;臥槽,怎么回事逗宜,這跟服務(wù)化生態(tài)好像沒關(guān)系啊......跑題了~~~反正就是拋磚引玉hiahiahia~~~~