日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

微服务治理框架的选择:对比Spring Cloud和Istio

發布時間:2025/3/15 javascript 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微服务治理框架的选择:对比Spring Cloud和Istio 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導讀:目前主流的微服務治理框架主要是Spring Cloud。而Istio作為新一代微服務框架,越來越受到關注。在本文中,我們分享如何選擇這兩種微服務框架。

作者:魏新宇 宋志麒 楊金鋒

來源:大數據DT(ID:hzdashuju)

Istio被引入的主要原因是傳統微服務存在以下問題。

  • 多語言技術棧不統一:C++、Java、PHP、Go。Spring Cloud無法提出非Java語言的微服務治理。

  • 服務治理周期長:微服務治理框架與業務耦合,上線周期長,策略調整周期長。

  • 產品能力弱:Spring Cloud缺乏平臺化和產品化的能力,可視化能力弱。

那么,是不是說企業一定需要使用Istio?不是。表2-2是對Spring Cloud與Istio的簡單對比。

▼表2-2 Spring Cloud與Istio的對比與選擇

也就是說,如果企業的開源語言主要是Java、更新升級不頻繁、無過多高級治理功能需求、業務規模不是非常大,使用Spring Cloud是比較合適的。

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

▼表2-3 企業引入Istio的成本

接下來,我們對在OpenShift上通過Spring Cloud和Istio實現的企業微服務治理進行對比,如表2-4所示。

▼表2-4 Spring Cloud與Istio的實現對比

從開放性以及先進性角度來說,建議將服務網格Istio作為首選微服務應用框架。接下來我們介紹Istio在實踐中的使用建議。

Istio運維方面的建議包括版本選擇、備用環境、評估范圍、配置生效、功能健壯性參考、入口流量選擇。當然,這些建議只是基于目前我們在測試過程中得到的數據總結的。隨著Istio使用越來越廣泛,相信最佳實踐將會越來越豐富。

1. 版本選擇

Istio是一個迭代很快的開源項目。截止到2021年5月,社區最新的Istio版本為1.9。

頻繁的版本迭代會給企業帶來一些困擾:是堅持使用目前已經測試過的版本,還是使用社區的最新版本?

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

2. 備用環境

針對相同的應用,在OpenShift環境中部署一套不被Istio管理的環境。比如文中的三層微服務,獨立啟動一套不被Istio管理的應用,使用OpenShift原本的訪問方式即可。

這樣做的好處是,每當進行Istio升級或者部分參數調整時都可以提前進行主從切換,讓流量切換到沒有被Istio管理的環境中,將Istio升級調整驗證完畢后再將流量切換回來。

3. 評估范圍

由于Istio對微服務的管理是非代碼侵入式的。因此通常情況下,業務服務需要進行微服務治理,需要被Istio納管。而對于沒有微服務治理要求的非業務容器,不必強行納管在Istio中。當非業務容器需要承載業務時,被Istio納管也不需要修改源代碼,重新在OpenShift上注入Sidecar部署即可。

4. 配置生效

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

此外,Istio的配置生效,大多是針對微服務所在的項目,但也有一些配置是針對Istio系統。因此,在配置應用時,要注意指定對應的項目。

在OpenShift中,Virtual Service和Destination Rules都是針對項目生效,因此配置應用時需要指定項目。

5. 功能健壯性參考

從筆者大量的測試效果看,健壯性較強的功能有基于目標端的藍綠、灰度發布,基于源端的藍綠、灰度發布,灰度上線,服務推廣,延遲和重試,錯誤注入,mTLS,黑白名單。

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

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

6. 入口流量方式選擇

在創建Ingress網關的時候,會自動在OpenShift的Router上創建相應的路由。Ingress網關能夠暴露的端口要多于Router。所以,我們可以根據需要選擇通過哪條路徑來訪問應用。

在Istio體系中的應用不使用Router也可以正常訪問微服務。但是PaaS上運行的應用未必都是Istio體系下的,其他非微服務或者非Istio體系下的服務還是要通過Router訪問。此外,Istio本身的監控系統和Kiali的界面都是通過Router訪問的。

相比Spring Cloud,Istio較好地實現了微服務的路由管理。但在實際生產中,僅有微服務的路由管理是不夠的,還需要諸如不同微服務之間的業務系統集成管理、微服務的API管理、微服務中的規則流程管理等。

本文摘編自《金融級IT架構與運維:云原生、分布式與安全》,經出版方授權發布。(ISBN:978-7-111-69829-6)

《金融級IT架構與運維:云原生、分布式與安全》

點擊上圖了解及購買

轉載請聯系微信:DoctorData

推薦語:3位資深專家撰寫,8位IT負責人推薦,從架構、云原生、分布式、安全、運維為金融企業提供解決方案,案例豐富。

刷刷視頻👇

干貨直達👇

  • 為什么Web 3.0就是元宇宙?

  • 重磅盤點!2021年最受歡迎的技術干貨,全在這里了

  • 2021年,朋友圈都在傳這8個視頻

  • 如何平衡存儲系統的一致性和可用性?

更多精彩👇

在公眾號對話框輸入以下關鍵詞

查看更多優質內容!

讀書?|?書單?|?干貨?|?講明白?|?神操作?|?手把手

大數據?|?云計算?|?數據庫?|?Python?|?爬蟲?|?可視化

AI?|?人工智能?|?機器學習?|?深度學習?|?NLP

5G?|?中臺?|?用戶畫像?|?數學?|?算法?|?數字孿生

據統計,99%的大咖都關注了這個公眾號

👇

總結

以上是生活随笔為你收集整理的微服务治理框架的选择:对比Spring Cloud和Istio的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。