日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

灰度發(fā)布和AB Test

 hmtomyang 2019-08-15

一、灰度發(fā)布

1. 簡介

灰度發(fā)布,是指在黑與白之間,能夠平滑過渡的一種發(fā)布方式。
通過不同策略對用戶進行分流,不同的用戶組使用不同的應用版本。

2. 優(yōu)點

互聯(lián)網服務變動頻繁,發(fā)布周期短。速度與質量總是難以雙全?;叶劝l(fā)布有以下優(yōu)點:

  • 降低發(fā)布風險,減少影響范圍

  • 可以灰度測試賬號,降低測試依賴,減少線下自測的數據構造成本

  • 方便回滾

3. 缺點

  • 開發(fā)、測試和部署的成本較高

  • 數據存儲層需要兼容

二、AB Test

1. 簡介

AB test 是一種灰度方式,通常差異度較小,側重于從多種方案中選擇最優(yōu)方案。
簡單來說,就是為同一個目標制定兩個方案(比如兩個頁面),讓一部分用戶使用 A 方案,另一部分用戶使用 B 方案,記錄下用戶的使用情況,看哪個方案更符。
一般來說,每個設計方案應該大體上是相同的,只是某一個地方有所不同,比如某處排版、文案、圖片、顏色等。然后對不同的用戶展示不同的方案。

在這里插入圖片描述

2. 優(yōu)缺點

  • 優(yōu)點:避免選擇分歧和反復試錯,優(yōu)化決策,最終方案有數據支持

  • 缺點:開發(fā)和測試周期增加,多套方案出現(xiàn)問題的可能性更高

3. 核心思想

  • 多方案并行測試

  • 同一個用戶(一般通過cookie控制)展現(xiàn)同一版本

  • 以某種規(guī)則優(yōu)勝劣汰。

4. 實現(xiàn)步驟

  • 定義策略:確定分流的目的、放量的規(guī)模、遞增的頻率、回滾的策略等;

  • 篩選用戶:確定分流訪問的用戶特征,定義規(guī)則(根據 ip, user_id, cookie, 業(yè)務需求(商戶)等因素,制定分流策略)或導入名單;

  • 訪問分流:技術支撐,根據分流策略向用戶展示不同內容;

  • 發(fā)布運行;根據不同的實現(xiàn)方案進行部署;

  • 采集分析:收集數據,比較不同方案的效果,確定最終方案

三、實現(xiàn)方案

關鍵點:控制邏輯的顆粒度

1. nginx控制

  • 兩套代碼分別部署在不同的機器,通過 nginx 配置分流

  • 大多數公司采用這種方案(google,阿里,騰訊,新浪等)

  • 優(yōu)缺點:

    • 優(yōu)點:對業(yè)務侵入性小,灰度發(fā)布和正式上線都非常方便

    • 缺點:開發(fā)流程是分支開發(fā)模式;代碼部署比較復雜

  • 實現(xiàn):

    • nginx根據權重分流

    • nginx + lua + redis/memcache

    • nginx + cookie

  • 阿里框架
    在這里插入圖片描述

  • 新浪框架
    在這里插入圖片描述

2. 后臺代碼控制

  • 業(yè)務邏輯中控制分流

  • 優(yōu)缺點

    • 優(yōu)點:對外部系統(tǒng)依賴小,全部邏輯都在業(yè)務服務器完成,適合主干開發(fā)的模式,

    • 缺點:對業(yè)務侵入大,灰度發(fā)布不方便,代碼維護還有整潔度下降。

  • 據說:微軟和amazon是使用這套架構

  • 實現(xiàn)

    • 路由層控制

    • control 層控制重定向

3. 前端代碼控制

  • js if-else 控制分流

  • 優(yōu)缺點和第二種類似,比較適合差異度小的測試

  • 兩個版本只有一個較小的區(qū)域不一樣,我們可以同時將兩個區(qū)域的 HTML 都加載到當前頁面中,先用 CSS 把它們隱藏起來(也可以默認顯示一個版本),等 JS 判斷出該顯示哪個版本后,再控制對應版本的 CSS 顯示。

  • 測試區(qū)域比較大,代碼比較多,或者需要后臺較多的計算資源,如果一開始就把兩個版本的 HTML 全加載到當前頁面中,就會需要比較大的開銷(比如帶寬、后臺計算量)。這種情況下,我們可以先把測試區(qū)留空,之后再用 Ajax 的方式延遲加載。

四、第三方框架

五、參考資料

技術揭秘:大眾點評大規(guī)模并行AB測試框架Gemini http://www./blog/cases-dianping-actesting-gemini/
天貓App A/B測試實踐 http://www./cn/articles/tmall-app-ab-test
Twitter A/B測試技術概覽 http://www./cn/news/2015/11/twitter-ab-test
互聯(lián)網產品灰度發(fā)布 http://blog.csdn.net/boonya/article/details/51537674
A/B Testing的幾個解決方案 http://www.cnblogs.com/zuoqs/archive/2011/11/27/2265414.html
A/B測試:實現(xiàn)方法 http://www./2010/09/27/ab-testing-realization-method.html
互聯(lián)網產品發(fā)布之灰度發(fā)布 http://www./thread-3542-1-1.html
Nginx 實現(xiàn)灰度發(fā)布的三種方式 http://www./2017/05/1863083.html
新浪的動態(tài)策略灰度發(fā)布系統(tǒng):ABTestingGateway http://www./lib/view/open1439889185239.html
nginx:利用負載均衡原理實現(xiàn)代碼的熱部署和灰度發(fā)布 http://blog.csdn.net/hys19920320/article/details/50899932
使用Nginx+Lua實現(xiàn)Web項目的灰度發(fā)布 http://www./Linux/2012-10/71618.htm

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多