亚洲全黄无码一级在线看_国产剧情久久久性色_无码av一区二区三区无码_亚洲成a×人片在线观看

當(dāng)前位置: 首頁 > 科技新聞 >

亂彈微服務(wù)

時(shí)間:2020-06-05 17:39來源:網(wǎng)絡(luò)整理 瀏覽:
1. 前言3 月 10 日,Linux 基金會(huì)宣布旗下項(xiàng)目 TARS 正式成立 TARS 基金會(huì),宣稱致力于構(gòu)建微服務(wù)。該項(xiàng)目是騰訊公司捐獻(xiàn)
亂彈微服務(wù)

1. 前言

3 月 10 日,Linux 基金會(huì)宣布旗下項(xiàng)目 TARS 正式成立 TARS 基金會(huì),宣稱致力于構(gòu)建微服務(wù)。該項(xiàng)目是騰訊公司捐獻(xiàn)給 Linux 基金會(huì)的一個(gè)項(xiàng)目,據(jù)稱該項(xiàng)目在騰訊已經(jīng)使用了近 10 年,有大量的實(shí)踐經(jīng)驗(yàn)。為什么這么多公司打算在微服務(wù)領(lǐng)域進(jìn)行深耕呢?我們真的需要微服務(wù)嗎?今天來聊一聊這些微服務(wù)。

2. Spring Cloud

Spring 官方在 14 年下半年出了 Spring Cloud。2016 年底無意中看到這個(gè),當(dāng)時(shí)國(guó)內(nèi)資料很少也很少聽說便沒有過于在意。2017 年有同事安利了這個(gè)東西,也是從這個(gè)時(shí)候“微服務(wù)”這個(gè)概念在技術(shù)圈“熱”了起來。我便花了很大的精力學(xué)習(xí)了一番。一直到 2018 年下半年才有機(jī)會(huì)實(shí)踐中使用 Spring Cloud 。但是這個(gè)項(xiàng)目半年就“夭折”了,需求不明確,業(yè)務(wù)推進(jìn)緩慢。

我一直不明白為什么當(dāng)時(shí) Leader 堅(jiān)持使用 Spring Cloud ,從當(dāng)時(shí)人力和業(yè)務(wù)都不應(yīng)該使用它。畢竟很多場(chǎng)景需要的路由控制、限流等一些需要定制化的功能要花一些精力去處理,而且業(yè)務(wù)劃分是否合理也決定了微服務(wù)的復(fù)雜程度。我覺得更多的有“炫技”成分在里面。我個(gè)人覺得是否使用微服務(wù)一定要看業(yè)務(wù)的推進(jìn)情況。不過 Spring Cloud 也為面試作出了很多的貢獻(xiàn)。

亂彈微服務(wù)

2018 年 11 月,當(dāng) Netflix 宣布旗下被 Spring Cloud 所依賴的諸多項(xiàng)目進(jìn)入維護(hù)模式后,Spring Cloud 開始出現(xiàn)了一些危機(jī)。因?yàn)?Spring Cloud 只是作為上層的規(guī)范,底層依賴于第三方的輪子。這也符合 Spring 官方的一慣風(fēng)格。

不過好在危機(jī)持續(xù)時(shí)間并不長(zhǎng),因?yàn)樵缭?2018 年 7 月底 Alibaba 就開始孵化 Spring Cloud Alibaba 項(xiàng)目了。這應(yīng)該是國(guó)產(chǎn)項(xiàng)目第一次進(jìn)入 Spring 體系進(jìn)行孵化并在2019 年 8 月 1 日正式畢業(yè)。目前Spring Cloud Alibaba 已經(jīng)發(fā)布了數(shù)個(gè)正式版本,成為目前 Spring Cloud 生態(tài)圈的重要組成部分。

借助于 Spring 的頭部地位,Spring Cloud 也成為目前受眾最廣的開源微服務(wù)體系。對(duì)于普通 Java 開發(fā)者來說從一般應(yīng)用過渡到微服務(wù)的最好途徑可能就是 Spring Cloud 了。

3. Service Mesh

正當(dāng)我學(xué)習(xí) Spring Cloud 的時(shí)候,另一個(gè)微服務(wù)體系 Service Mesh 也出現(xiàn)了。當(dāng)然 Service Mesh 出場(chǎng)有點(diǎn)霸道,直接宣布它就是下一代的微服務(wù)的標(biāo)準(zhǔn)。什么?下一代?這一代我還沒搞明白呢!相信很多人跟我一樣都是這么想的。

3.1 什么是 Service Mesh

Service Mesh 是微服務(wù)時(shí)代的 TCP 協(xié)議

我們拿比較好理解的 Spring Cloud 來說,它實(shí)現(xiàn)了微服務(wù)所需要的一系列基礎(chǔ)功能:負(fù)載均衡、服務(wù)治理、熔斷降級(jí)等,并屏蔽了其中的技術(shù)細(xì)節(jié),讓我們很容易就可以開發(fā)出穩(wěn)定的分布式系統(tǒng)。但是我們發(fā)現(xiàn)我們需要花更多精力去研究Spring Cloud本身才能更好的來貼合我們的業(yè)務(wù)。同時(shí)我們需要集成很多的庫來實(shí)現(xiàn)諸如服務(wù)注冊(cè)與發(fā)現(xiàn),熔斷降級(jí),負(fù)載均衡等業(yè)務(wù)無關(guān)的功能,就像一個(gè)既要搞前端又要后端,甚至需要自己去收集需求的開發(fā)一樣。

我們需要有一個(gè)專門的代理幫我們來做這些事情,而我們只專注于業(yè)務(wù)。服務(wù)之間的復(fù)雜交互由代理來做,我們不再過分操心非業(yè)務(wù)功能。這種組合模式也就是 Sidecar 模式,Sidecar 來源于“三蹦子”。

亂彈微服務(wù)

然后所有的代理連起來就組成了一張通訊網(wǎng):

亂彈微服務(wù)

為了更加清晰展示我們把業(yè)務(wù)服務(wù)隱藏掉,同時(shí)為了集中對(duì)代理組建進(jìn)行拓?fù)涓潞涂刂?,又抽象出一個(gè)控制面板:

亂彈微服務(wù)

Service Mesh 更像是一種微服務(wù)的呈現(xiàn)風(fēng)格。

3.2 Service Mesh 發(fā)展史

Service Mesh 的高調(diào)面市正是各家容器技術(shù)標(biāo)準(zhǔn)搶占地位的時(shí)候,雖然 Docker 在容器領(lǐng)域先下一城,但是 K8S 也開始發(fā)力,誰贏得標(biāo)準(zhǔn)之爭(zhēng)誰就會(huì)占據(jù)市場(chǎng)的核心地位。我認(rèn)為這一時(shí)期 Service Mesh 正好契合了谷歌的需要,使得谷歌為之站臺(tái),Service Mesh 布道者William MorganOliver Gould 發(fā)起的第一個(gè) Service Mesh 項(xiàng)目Linkerd 順利加入谷歌主導(dǎo)的 CNCF 基金會(huì)。

天下沒有免費(fèi)的午餐,谷歌此時(shí)已經(jīng)聯(lián)合 IBM 、Lyft 啟動(dòng)了 Istio 項(xiàng)目,開始著手第二代 Service Mesh 的布局。就在Linkerd加入CNCF四個(gè)月后,Istio 發(fā)布了第一個(gè) Release 版本,雖然 Bug 眾多。社區(qū)反響熱烈,群眾們紛紛表示歡迎并站隊(duì)。Linkerd 直接成了“過氣網(wǎng)紅”。Istio 的使命是為谷歌K8S生態(tài)圈的延伸,建立其在微服務(wù)領(lǐng)域的頭部位置。

憧憬是美好的,從一開始 Istio 就是一個(gè)“早產(chǎn)兒”,數(shù)個(gè)版本都存在可用性不足的情況,除了一些頭部公司很少有相關(guān)的落地案例,甚至一些公司也是處于研究階段。不過隨著Istio 1.5 的發(fā)布這一狀況正在得到改善。但是 Service Mesh 目前還屬于微服務(wù)的金字塔, 需要熟練運(yùn)用容器技術(shù)以及出色的運(yùn)維能力,學(xué)習(xí)曲線相對(duì)陡峭一些。

4. 其它

還有其它一些企業(yè),也想在微服務(wù)領(lǐng)域有一席之地,比如 RedHat 推出了 Quarkus 。Oracle 自己也搞了一個(gè) Helidon。

亂彈微服務(wù)

都有各自的一些賣點(diǎn),但是似乎社區(qū)并不買帳。但是它們都跟 Reactive Programming(反應(yīng)式編程) 扯上了關(guān)系,這可能是另一種趨勢(shì)。微服務(wù)還在不停的向前推動(dòng),現(xiàn)在你不知道微服務(wù)都不好意思說你是搞后端的。

然后回到現(xiàn)在的 TARS,現(xiàn)在的公司不搞個(gè)基金會(huì)弄個(gè)開源項(xiàng)目,都不好意思說你是技術(shù)公司。TARS 同樣走了一條自己的路,但是這條路目前我個(gè)人并不看好。

5. 你真的需要微服務(wù)嗎

在開始實(shí)施微服務(wù)前你要考慮一些問題,而不是隨大流。這也是一些中小企業(yè)容易犯的錯(cuò)誤。

業(yè)務(wù)是否需要

技術(shù)服務(wù)于業(yè)務(wù)是亙古不變的鐵律。微服務(wù)解決了你當(dāng)前業(yè)務(wù)的什么問題,帶來了什么問題你要清楚。一共幾萬人的應(yīng)用,日活區(qū)區(qū)幾千人,你搞微服務(wù)?

團(tuán)隊(duì)是否準(zhǔn)備好了

微服務(wù)意味著將應(yīng)用“復(fù)雜化了”,從單體應(yīng)用分割到多個(gè)應(yīng)用,從團(tuán)隊(duì)的技術(shù)素質(zhì)、運(yùn)維能力都是一種考驗(yàn)。團(tuán)隊(duì)是否能夠充分應(yīng)對(duì)分布式帶來的負(fù)面作用。

推薦內(nèi)容