從事軟體開發不少年頭,從15年開始逐漸轉管理,很少實際程式設計,也極少動手寫心得體會了。最近的閱讀有所感慨,光讀不寫實際上並不知道自己是否理解,是否有所提高,計畫慢慢講最近的學習和心得通過文章做個記錄。
1、藍綠部署----正常的程式更新上線,需要暫停原有伺服器端服務,上傳部署包再重新啟動服務,這期間服務都是暫停的。當驗證有問題,需要停止服務,回退程式,再啟動服務。藍綠部署指在程式上線是不停止老程式的服務,而是在新的伺服器上部署新的程式包,啟動服務後並通過驗證後將負載切換到新服務上。具體可參加martin fowler的文章 藍綠部署。說起來簡單,實際仔細考慮有很多很複雜的問題,新舊程式是不是一套資料庫,是一套資料庫的話資料庫結構不同程式有何影響。切換的時候如何確保新舊業務的延續。。。。
藍綠部署最主要的目的是:安全穩定地發布新版本應用,並在必要時回滾。並且發布過程不中斷服務或者最小化中斷服務停止時間。
2、灰度發布/金絲雀發布--- 同樣也是不中斷服務,在原有版本可用的情況下,選擇部分伺服器作為新版本發布目標。將該伺服器從負載摘除後,部署新版本程式並進行驗證測試,測試通過後重新加入負載提供服務。執行一段時間後,無問題更新其他伺服器。
與藍綠部署相比,好處是不用double伺服器等資源,採用現有伺服器資源就可以完成不間斷、使用者無感知更新,有問題也可以及時回退。
如何選擇呢?
實際上我覺得很難使用藍綠發布,成本太高,除了在新的大型支撐系統上線前或者業務系統大規模架構公升級時候,正常情況很難為乙個業務系統同時保留兩套環境。更常用的還是灰度發布。
最後看到還有滾動發布的概念,感覺和灰度發布相似,還沒有特別理解區別。等有心得了再進行補充吧。
一 DevOps學習筆記
1.環境準備本人用的是win系統,本地安裝了oracle vm virtualbox虛擬機器以及vagrant工具,迅速搭建linux開發環境.vagrant安裝過程 2.安裝centos系統步驟 建立目錄centos7的目錄 mkdir centos7 進入centos7目錄執行 vagrant ...
機器學習 基礎概念 一
lstm rnn長短期記憶rnn 自編碼autoencoder 生成對抗網路gan 梯度下降 gradient descent 人體900億神經細胞組 體神經網路。神經網路的構建 可稱之人工神經元的組合,在外部刺激上不斷改變自身。人工神經網路可以分為輸入層,隱藏層 資訊的加工處理層 輸出層。中間的 ...
聯邦學習基礎概念(一)
1.什麼是聯邦學習?聯邦機器學習 federated machine learning federated learning 又名聯邦學習,聯合學習,聯盟學習。聯邦機器學習是乙個機器學習框架,能有效幫助多個機構在滿足使用者隱私保護 資料安全和 法規的要求下,進行資料使用和機器學習建模。聯邦學習作為分...