天天看點

開放平台灰階釋出分享灰階釋出開放平台的實作

首先上幾張網上來的圖檔做下對比,作為開題;

2010年的facebook的首頁

開放平台灰階釋出分享灰階釋出開放平台的實作

2015年的facebook的首頁

開放平台灰階釋出分享灰階釋出開放平台的實作

這麼長時間,facebook的首頁風格、排版基本沒太大變化。

其實在2012年,facebook進行首頁更新改造,隻是在更新版首頁灰階期間資料表現始終較老版有明顯差距。

開放平台灰階釋出分享灰階釋出開放平台的實作

最終 facebook 忍痛放棄上線衆望所歸的新版首頁。

指能夠達到平滑過渡的一種釋出方式。

灰階釋出的目的主要有:

規避一定的釋出風險,降低産品疊代更新所影響的範圍。

分流控制,靈活選擇使用者參與産品測試。逐漸擴大使用者。

快速擷取使用者的使用情況,完善産品功能,提升産品品質。

其中的要點是能夠靈活精準選取參與使用的使用者,全面準确的擷取灰階使用者使用情況資訊,分析、總結、完善;達到降低釋出風險、減少bug帶來的影響。

開放平台灰階釋出分享灰階釋出開放平台的實作

一段時期内,灰階環境與正式環境并行處理使用者請求。可以認為是同層級的環境,灰階範圍根據使用情況,逐漸增加使用者使用比率,最終完全替代老的系統或功能。

開放平台灰階釋出分享灰階釋出開放平台的實作

靈活的使用者篩選政策,使用者請求無感覺。

效果可量化

避免全量上線之後效果不佳造成的損失

開放平台的灰階釋出實作是在接口層面的,可以是單個接口,也可以是整個業務服務(一批接口)。

特點:

配置中心一鍵開/關灰階功能

動态設定分流政策,及時生效,不需要重新開機服務

支援按參數分流、按百分比分流、兩種同時使用

參數對可以配置多個,關系為“與”;參數值可以設定多個,以逗号分隔,關系為“或”,可以設定模糊比對,以“”表示,“”隻能放在開頭或者結尾

适用于灰階釋出、ab測試、和負載均衡

支援以服務分組級别的灰階(利用分流政策篩選使用者)

準實時接口調用報表展示

開放平台灰階釋出分享灰階釋出開放平台的實作

這個圖隻是抽取灰階相關的一些點;

開放平台灰階釋出分享灰階釋出開放平台的實作
開放平台灰階釋出分享灰階釋出開放平台的實作

百分比和參數對是邏輯判斷的核心;百分比計算需要記錄正常環境和灰階環境的處理量,計數功能類主要使用了longadder類,提高大并發下的效率。

開放平台灰階釋出分享灰階釋出開放平台的實作
開放平台灰階釋出分享灰階釋出開放平台的實作
開放平台灰階釋出分享灰階釋出開放平台的實作

如何精确的篩選使用者?

公共請求參數有appkey、ip、clientid(裝置id号),

業務請求參數由接口自定義控制,可根據實際的業務需求,配合使用接口所有參數,來達到使用者篩選。