2021年 Istio 大型“入坑”指南
【百度雲原生導讀】2021年伊始,如果你打算在生產環境中落地 Service Mesh,那麼 Istio 必定在你的考慮範圍之內。作為目前最流行的 Service Mesh 技術之一,Istio 擁有活躍的社群和眾多的落地案例。但如果你想在生產環境大規模落地 Isito,這看似壯觀美好的冰山下,卻是暗流湧動,潛藏著無數兇險。
01
使用 Istio 無法做到完全對應用透明
SDK 需要關閉一些功能,例如重試。一個典型的場景是,SDK 重試 m 次,Sidecar 重試 n 次,這會導致 m * n 的重試風暴,從而引發風險。
02
Istio 對非 K8S 環境的支援有限
這會帶來一系列挑戰:
原有 PaaS 可能沒有容器網路,Istio 的服務發現和流量劫持都可能要根據舊有基礎設施進行適配才能正常工作
如果舊有的 PaaS 單個例項不能很好的管理多個容器(類比 K8S 的 Pod 和 Container 概念),大量 Istio Sidecar 的部署和運維將是一個很大的挑戰
缺少 K8S webhook 機制,Sidecar 的注入也可能變得不那麼透明,而需要耦合在業務的部署邏輯中
03
只有 HTTP 協議是一等公民
04
擴充套件 Istio 的成本並不低
以擴充套件 Istio 支援某一種私有協議為例,首先你需要在 Istio 的 api 程式碼庫中進行協議擴充套件,其次你需要修改 Istio 程式碼庫來實現新的協議處理和下發,接著你還需要修改 xds 程式碼庫的協議,最後你還要在 Envoy 中實現相應的 Filter 來完成協議的解析和路由等功能。
05
Istio 在叢集規模較大時的效能問題
可以想象,在稍大一些的叢集規模,Envoy 的記憶體開銷、Istio 的 CPU 開銷、XDS 的下發時效性等問題,一定會變得尤為突出。
06
XDS 分發沒有分級釋出機制
07
Istio 元件故障時是否有退路?
08
Istio 技術架構的成熟度還沒有達到預期
09
Istio 缺乏成熟的產品生態
10
Istio 目前解決的問題域還很有限
如果你的生產環境中,業務系統對接了非常多和複雜的分散式繫系統中介軟體,Istio 目前可能並不能完全解決你的應用的雲原生化訴求。
寫在最後
上面列舉的這些問題,實際上並不影響 Istio 依然是目前最為流行和成功的 Service Mesh 技術選型之一。Istio 頻繁的變動,一定程度上也說明它擁有一個活躍的社群,我們應當對一個新的事物抱以信心,Istio 的社群也在不斷聽取來自終端使用者的聲音,朝著更合理的方向演進。
同時,如果你的生產環境中的服務規模並不是很大,服務已經託管於 K8S 之上,也只使用那些 Istio 原生提供的能力,那麼 Istio 依然是一個值得嘗試的開箱即用方案。
但如果你的生產環境比較複雜,技術債務較重,專有功能和策略需求較多,亦或者服務規模龐大,那麼在開始使用 Istio 之前,你需要仔細權衡上述這些要素,以評估在你的系統之中引入 Istio 可能帶來的複雜度和潛在成本。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557835/viewspace-2760142/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UIStackView 入坑指南UIView
- vim 入坑指南
- uni-app 入坑指南APP
- Oracle函式入坑指南Oracle函式
- rust入坑指南之ownershipRust
- Omi 入坑指南 Third field 事件入門事件
- Go Web開發入坑指南GoWeb
- Omi 入坑指南 第四場 Router
- React Router v4 入坑指南React
- CTF萌新入坑指南(web篇)Web
- Flutter 入坑指南(dio +fish_redux)FlutterRedux
- 針不戳!GitHub Actions 入坑指南Github
- Istio 升級後踩的坑
- Flutter入坑指南:開發環境搭建Flutter開發環境
- 小米安全Dayeh:《Spring Security入坑指南1》Spring
- 小米安全Dayeh:《Spring Security入坑指南2》Spring
- Omi 入坑指南 The second floor 初步接觸
- 小程式入坑指南 | 鵝廠優文
- 踩坑指南:入門OpenTenBase之部署篇
- Rust入坑指南:海納百川Rust
- Angular 從入坑到挖坑 - 元件食用指南Angular元件
- webpack入門及踩坑應對指南Web
- 高效能非同步框架Celery入坑指南非同步框架
- 踩坑指南:入門OpenTenBase之監控篇
- Flink入坑指南第一章-簡介
- mpvue“踩坑”指南Vue
- phppresentation 踩坑指南PHP
- indexDB出坑指南Index
- Flutter入坑指南:編寫第一個Flutter應用Flutter
- 給 Web 開發人員的以太坊入坑指南Web
- 給Web開發人員的以太坊入坑指南Web
- Vue3.0新版API之composition-api入坑指南VueAPI
- 坑爹的Python陷阱(避坑指南)Python
- React Native踩坑指南:ios鍵盤遮擋輸入框React NativeiOS
- Electron 打包爬坑指南
- ?踩坑指南——onnx系列
- Go 切片繞坑指南Go
- 上雲避坑指南