部署架構(五)

2021-10-01 11:20:23 字數 889 閱讀 3685

a/b 測試(a/b testing)

a/b 測試跟藍綠部署完全是兩碼事。a/b 測試是用來測試應用功能表現的方法,例如可用性、受歡迎程度、可見性等等。 藍綠部署的目的是安全穩定地發布新版本應用,並在必要時回滾。

a/b 測試與藍綠部署的區別在於, a/b 測試目的在於通過科學的實驗設計、取樣樣本代表性、流量分割與小流量測試等方式來獲得具有代表性的實驗結論,並確信該結論在推廣到全部流量可信。

a/b 測試和藍綠部署可以同時使用。

灰度發布/金絲雀發布滾動發布(rolling update)

滾動發布,一般是取出乙個或者多個伺服器停止服務,執行更新,並重新將其投入使用。周而復始,直到集群中所有的例項都更新成新版本。這種部署方式相對於藍綠部署,更加節約資源——它不需要執行兩個集群、兩倍的例項數。我們可以部分部署,例如每次只取出集群的20%進行公升級。

這種方式也有很多缺點,例如:

(1) 沒有乙個確定ok的環境。使用藍綠部署,我們能夠清晰地知道老版本是ok的,而使用滾動發布,我們無法確定。

(2) 修改了現有的環境。

(3) 如果需要回滾,很困難。舉個例子,在某一次發布中,我們需要更新100個例項,每次更新10個例項,每次部署需要5分鐘。當滾動發布到第80個例項時,發現了問題,需要回滾。此時,脾氣不好的程式猿很可能想掀桌子,因為回滾是乙個痛苦,並且漫長的過程。

(4) 有的時候,我們還可能對系統進行動態伸縮,如果部署期間,系統自動擴容/縮容了,我們還需判斷到底哪個節點使用的是哪個**。儘管有一些自動化的運維工具,但是依然令人心驚膽戰。

並不是說滾動發布不好,滾動發布也有它非常合適的場景。

紅黑部署(red-black deployment)

Nginx Django Uwsgi架構部署

一 django環境部署 root linux wugk sa command pwd root django django bin command root linux wugk sa command ls command manage.py root linux wugk sa command ...

綜合架構 zabbix 部署

server zabbix 10.0.0.71 client web01 10.0.0.7 1 更新yum源 rpm ivh2 安裝相應服務 yum install y zabbix server mysql zabbix web mysql httpd php mariadb server3 編寫...

Elastic Elastic部署架構介紹

elastic stack是一套完整的從資料採集,解析,分析,豐富,到搜尋,檢索,資料程式等一套完整的軟體棧。在具體的實踐中,我們應該如何搭建我們的系統呢?下圖描述了常用的elastic stack的部署架構 該圖描述了三種可能的體系結構 也有一些應用場景是這樣部署的 同樣的,在這裡,我們可以通過r...