SpringCloud系列:spring cloud gateway之filter篇">SpringCloud系列:spring cloud gateway之filter篇
740
2025-04-01
云原生之路07之Istio服務網格進階
第十章 Istio灰度發布管理
前情回顧:
服務網格的發展歷程、相關概念
Istio的概念、架構、特性、應用場景
架構:控制面(Istiod: Citadel,Pilot, Gally)、數據平面:(代理 Envoy)
特性:流量管理(負載均衡,動態路由,灰度發布,故障注入)、可觀察性(調用鏈,訪問日志,監控)、策略控制(限流,ACL,配額,計費)、認證安全(認證,授權,審計)
資源類型:Gateway,Virtual Service、Destination Rule
業務灰度發布概述
灰度發布是迭代的軟件產品在生產環境安全上線的一種重要手段
應用服務網格基于Istio提供的服務治理能力,對服務提供多版本支持和靈活的流量策略,從而支持多種灰度發布場景
金絲雀發布
在生產環境上引一部分實際流量對一個新版本進行測試,測試新版本的性能和表現,在保證系統整體文檔運行的前提下,盡早發現新版本在實際環境上的問題
通過在線上運行的服務中,新加入少量的新版本的服務,然后從這少量的新版本中快速活動反饋,根據反饋決定最后的交付形態。
分類
(1)基于權重的灰度發布:可更加需要靈活動態的調整不同服務版本的流量比例
(2)基于內容的灰度發布:可根據請求的內容控制其流行的服務版本(Cookie,Header,OS,Browser)。
藍綠發布
藍綠發布提供一種零宕機的部署方式。不停老版本,部署新版本進行測試。始終有兩個版本同時在線,有問題可以快速切換
在部署應用過程中,應用始終在線。并且新版本上線過程中,不會修改老版本任何內容,在部署階段老版本狀態不受影響。只要老版本資源不被刪除,可以在任何時間回滾到老版本。
可根據需要將全量流量在新舊版本間切換
灰度發布流程
灰度版本一鍵部署,流量切換一鍵生效
配置式灰度策略,支持流量比例,請求內容(Cookie,OS,瀏覽器等)和源IP
一站式健康,性能,流量監控,實現灰度發布過程量化,智能化和可視化。
ASM灰度發布功能與使用場景
可根據請求的內容控制其流行的服務版本(Cookie,Header,OS,Browser)
步驟:
(1) 發起金絲雀灰度任務,選擇一個服務進行灰度發布
(2) 給選定的服務創建灰度版
(3) 提交并等待灰度版本正常啟動
(4) 在實例正常啟動后,可以給灰度版本配置流量規則,分配流量
(5) 經過一段時間的運行,確認灰度版本運行正常,滿足業務要求,則可以切換全部流量到灰度版本,原版本下線
實驗: 基于ASM實現Web app的灰度版本發布
第十一章 Istio流量治理與監控管理
微服務發展
微服務:互聯網高速發展以及傳統分布式、SOA架構無法適應快速的開發迭代等多重因素共同推動下的產物
微服務雛形:微服務概念最早由Fred George 在2012年的一次技術大會上所提出,拆分SOA服務實現解耦
微服務發揚光大:2014年,James Lewis 和 Martin Fowler發表一篇名為《Microservices》的文章
服務治理介紹
服務治理主要針對微服務的治理:
(1)服務注冊和服務發現
(2)服務負載均衡,路由,灰度和藍綠
(3)服務降級,熔斷
(4)服務限流
(5)服務監控
微服務框架:SpringCloud,Dubbo
Istio常用的流量治理策略
負載均衡算法:加權輪詢、最少請求、環形Hash、隨機、優先級負載均衡、Locality加權
Istio監控介紹
可觀測性:Istio以非侵入的方式提供了一下遙測類型:
Metrics
Distributed Traces
Access Logs
Istio 云原生
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。