当前位置: 首页>編程日記>正文

第二十五篇:稳定性之灰度发布

第二十五篇:稳定性之灰度发布

随着用户规模逐渐增长、产品的更新频繁,新版的每次上线,各方都要承受极大的压力,一旦产品发布出现事故,可能影响的范围和损失都比较大,为了解决产品发布过程中的风险控制,要有部分的用户参与到新产品中,体验使用观测其真实反馈,如果没有用户的参与,直接面对全量用户,那么风险是可想而知的。

灰度发布

为了控制产品发布过程中的风险、故有了灰度发布,百度百科的解释是这样的:

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式,在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度;灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。

灰度发布也叫金丝雀发布,起源是,矿井工人发现,金丝雀对瓦斯气体很敏感,矿工会在下井之前,先放一只金丝雀到井中,如果金丝雀不叫了,就代表瓦斯浓度高。

灰度发布是在线上同时存在新旧两个版本,根据不同策略,按需分配部分流量比例到新的版本,支持流量新旧切换、及切换流量比例,也可支持快速回滚,通过观测这部分用户使用新版本的状态状况数据,渐进式完成新版本的全量上线,最大限度地控制新版本发布带来的业务风险,降低故障带来的影响面。

灰度类型

灰度发布的类型,通常情况下可分为前端、客户端、服务端,灰度有个原则就是要能够保证用户请求的完整性,例如:要么该用户的全部请求有新版本提供服务,要么由旧版本提供服务,不可能一会旧版本一会新版本,原因是可能存数据依赖问题。

灰度策略

灰度策略是我们要选择哪些用户体验新版本,比较常用的就是按照人划分,可按照用户ID、用户IP、设备等其他标签多维度策略,来观测使用效果,还有其他的方式例如随机分配流量百分比、渠道等等。

可观测性

通过灰度策略,筛选出合适的用户体验新版本状态,通过可观测性观测各项SLI指标来评判SLO,以及用户满意度,决策是否扩大还是暂停(回滚)灰度策略。如果没有可观测性,如何得知新版本这部分用户的使用状况,那么也无法决策是否继续或暂停,要能够通过数据反馈来支持决策。

流量染色

根据流量协议设置对应的流量染色规则,对指定的流量进行染色标记,并在整个调用链中携带该标记,以便于对染色流量进行跟踪和路由,流量染色的方法可分为逻辑染色、物流染色两种,如下:

  • 逻辑染色:该方式是通过携带灰度因子,通过层层调用传递的方式进行程序逻辑控制。
  • 物理染色:该方式是按照机器的维度分流。

小结

灰度发布可以在灰度期很好进行发布产品过程中的风险控制,降低发布带来的风险,通过小流量的方式进行小范围验证,实现平滑过渡,因此我们要在适当的时候使用灰度发布,灰度发布是非常有用的,但是灰度发布也带来一定的复杂性和成本,这也是需要重视的,不能因实施灰度发布而带来其他稳定性问题。


https://www.fengoutiyan.com/post/16264.html

相关文章:

  • 灰度论坛
  • 客户端灰度发布
  • zuul灰度发布功能实现
  • 灰度发布如何实现
  • 灰度发布技术
  • 高质量灰度
  • 灰度数据
  • 灰度发布
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機