<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微服務(wù)治理框架的選擇:對(duì)比Spring Cloud和Istio

          共 2834字,需瀏覽 6分鐘

           ·

          2022-02-17 00:39

          導(dǎo)讀:目前主流的微服務(wù)治理框架主要是Spring Cloud。而Istio作為新一代微服務(wù)框架,越來(lái)越受到關(guān)注。在本文中,我們分享如何選擇這兩種微服務(wù)框架。


          作者:魏新宇 宋志麒 楊金鋒
          來(lái)源:大數(shù)據(jù)DT(ID:hzdashuju)




          Istio被引入的主要原因是傳統(tǒng)微服務(wù)存在以下問(wèn)題。

          • 多語(yǔ)言技術(shù)棧不統(tǒng)一:C++、Java、PHP、Go。Spring Cloud無(wú)法提出非Java語(yǔ)言的微服務(wù)治理。
          • 服務(wù)治理周期長(zhǎng):微服務(wù)治理框架與業(yè)務(wù)耦合,上線周期長(zhǎng),策略調(diào)整周期長(zhǎng)。
          • 產(chǎn)品能力弱:Spring Cloud缺乏平臺(tái)化和產(chǎn)品化的能力,可視化能力弱。

          那么,是不是說(shuō)企業(yè)一定需要使用Istio?不是。表2-2是對(duì)Spring Cloud與Istio的簡(jiǎn)單對(duì)比。

          ▼表2-2 Spring Cloud與Istio的對(duì)比與選擇

          也就是說(shuō),如果企業(yè)的開(kāi)源語(yǔ)言主要是Java、更新升級(jí)不頻繁、無(wú)過(guò)多高級(jí)治理功能需求、業(yè)務(wù)規(guī)模不是非常大,使用Spring Cloud是比較合適的。

          如果企業(yè)要引入Istio,引入成本有多高?具體分三種情況,如表2-3所示。

          ▼表2-3 企業(yè)引入Istio的成本

          接下來(lái),我們對(duì)在OpenShift上通過(guò)Spring Cloud和Istio實(shí)現(xiàn)的企業(yè)微服務(wù)治理進(jìn)行對(duì)比,如表2-4所示。

          ▼表2-4 Spring Cloud與Istio的實(shí)現(xiàn)對(duì)比

          從開(kāi)放性以及先進(jìn)性角度來(lái)說(shuō),建議將服務(wù)網(wǎng)格Istio作為首選微服務(wù)應(yīng)用框架。接下來(lái)我們介紹Istio在實(shí)踐中的使用建議。

          Istio運(yùn)維方面的建議包括版本選擇、備用環(huán)境、評(píng)估范圍、配置生效、功能健壯性參考、入口流量選擇。當(dāng)然,這些建議只是基于目前我們?cè)跍y(cè)試過(guò)程中得到的數(shù)據(jù)總結(jié)的。隨著Istio使用越來(lái)越廣泛,相信最佳實(shí)踐將會(huì)越來(lái)越豐富。

          1. 版本選擇

          Istio是一個(gè)迭代很快的開(kāi)源項(xiàng)目。截止到2021年5月,社區(qū)最新的Istio版本為1.9。

          頻繁的版本迭代會(huì)給企業(yè)帶來(lái)一些困擾:是堅(jiān)持使用目前已經(jīng)測(cè)試過(guò)的版本,還是使用社區(qū)的最新版本?

          在前文中我們已經(jīng)提到,紅帽針對(duì)Istio有自己的企業(yè)版,通過(guò)Operator進(jìn)行部署和管理。出于安全性和穩(wěn)定性的考慮,紅帽Istio往往比社區(qū)要晚兩個(gè)小版本左右。因此建議使用紅帽Istio的最新版本。目前看,社區(qū)的最新版本的Istio的穩(wěn)定性往往不盡如人意。


          2. 備用環(huán)境

          針對(duì)相同的應(yīng)用,在OpenShift環(huán)境中部署一套不被Istio管理的環(huán)境。比如文中的三層微服務(wù),獨(dú)立啟動(dòng)一套不被Istio管理的應(yīng)用,使用OpenShift原本的訪問(wèn)方式即可。

          這樣做的好處是,每當(dāng)進(jìn)行Istio升級(jí)或者部分參數(shù)調(diào)整時(shí)都可以提前進(jìn)行主從切換,讓流量切換到?jīng)]有被Istio管理的環(huán)境中,將Istio升級(jí)調(diào)整驗(yàn)證完畢后再將流量切換回來(lái)。

          3. 評(píng)估范圍

          由于Istio對(duì)微服務(wù)的管理是非代碼侵入式的。因此通常情況下,業(yè)務(wù)服務(wù)需要進(jìn)行微服務(wù)治理,需要被Istio納管。而對(duì)于沒(méi)有微服務(wù)治理要求的非業(yè)務(wù)容器,不必強(qiáng)行納管在Istio中。當(dāng)非業(yè)務(wù)容器需要承載業(yè)務(wù)時(shí),被Istio納管也不需要修改源代碼,重新在OpenShift上注入Sidecar部署即可。

          4. 配置生效

          如果系統(tǒng)中已經(jīng)有相關(guān)對(duì)象的配置,我們需要使用oc replace -f指定配置文件來(lái)替換之前配置的對(duì)象。Istio中有的配置策略能夠較快生效,有的配置需要一段時(shí)間才能生效,如限流、熔斷等。新創(chuàng)建策略(oc create -f)的生效速度要高于替換性策略(oc replace -f)。因此在不影響業(yè)務(wù)的前提下,可以在應(yīng)用新策略之前,先刪除舊策略。

          此外,Istio的配置生效,大多是針對(duì)微服務(wù)所在的項(xiàng)目,但也有一些配置是針對(duì)Istio系統(tǒng)。因此,在配置應(yīng)用時(shí),要注意指定對(duì)應(yīng)的項(xiàng)目。

          在OpenShift中,Virtual Service和Destination Rules都是針對(duì)項(xiàng)目生效,因此配置應(yīng)用時(shí)需要指定項(xiàng)目。

          5. 功能健壯性參考

          從筆者大量的測(cè)試效果看,健壯性較強(qiáng)的功能有基于目標(biāo)端的藍(lán)綠、灰度發(fā)布,基于源端的藍(lán)綠、灰度發(fā)布,灰度上線,服務(wù)推廣,延遲和重試,錯(cuò)誤注入,mTLS,黑白名單。

          健壯性有待提升的功能有限流和熔斷。

          所以,從整體上看,Istio的功能雖日趨完善,但仍有待提升。

          6. 入口流量方式選擇

          在創(chuàng)建Ingress網(wǎng)關(guān)的時(shí)候,會(huì)自動(dòng)在OpenShift的Router上創(chuàng)建相應(yīng)的路由。Ingress網(wǎng)關(guān)能夠暴露的端口要多于Router。所以,我們可以根據(jù)需要選擇通過(guò)哪條路徑來(lái)訪問(wèn)應(yīng)用。

          在Istio體系中的應(yīng)用不使用Router也可以正常訪問(wèn)微服務(wù)。但是PaaS上運(yùn)行的應(yīng)用未必都是Istio體系下的,其他非微服務(wù)或者非Istio體系下的服務(wù)還是要通過(guò)Router訪問(wèn)。此外,Istio本身的監(jiān)控系統(tǒng)和Kiali的界面都是通過(guò)Router訪問(wèn)的。

          相比Spring Cloud,Istio較好地實(shí)現(xiàn)了微服務(wù)的路由管理。但在實(shí)際生產(chǎn)中,僅有微服務(wù)的路由管理是不夠的,還需要諸如不同微服務(wù)之間的業(yè)務(wù)系統(tǒng)集成管理、微服務(wù)的API管理、微服務(wù)中的規(guī)則流程管理等。

          本文摘編自金融級(jí)IT架構(gòu)與運(yùn)維:云原生、分布式與安全》,經(jīng)出版方授權(quán)發(fā)布。(ISBN:978-7-111-69829-6)

          金融級(jí)IT架構(gòu)與運(yùn)維:云原生、分布式與安全
          點(diǎn)擊上圖了解及購(gòu)買
          轉(zhuǎn)載請(qǐng)聯(lián)系微信:DoctorData

          推薦語(yǔ):3位資深專家撰寫(xiě),8位IT負(fù)責(zé)人推薦,從架構(gòu)、云原生、分布式、安全、運(yùn)維為金融企業(yè)提供解決方案,案例豐富。


          刷刷視頻??


          干貨直達(dá)??



          更多精彩??

          在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞
          查看更多優(yōu)質(zhì)內(nèi)容!

          讀書(shū) | 書(shū)單 | 干貨 | 講明白 | 神操作 | 手把手
          大數(shù)據(jù) | 云計(jì)算 | 數(shù)據(jù)庫(kù) | Python | 爬蟲(chóng) | 可視化
          AI | 人工智能 | 機(jī)器學(xué)習(xí) | 深度學(xué)習(xí) | NLP
          5G | 中臺(tái) | 用戶畫(huà)像 數(shù)學(xué) | 算法 數(shù)字孿生

          據(jù)統(tǒng)計(jì),99%的大咖都關(guān)注了這個(gè)公眾號(hào)
          ??
          瀏覽 24
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色成人在线免费观看 | 三级网站在线观看视频 | 美女扒开粉嫩尿囗的桶爽www | 日韩中文字幕无码蜜桃 | 大香蕉伊人18禁止出售借阅 |