AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

如何正確使用上線部署,泳道、預發布到底如何理解?

來源: 責編: 時間:2024-07-03 10:07:32 100觀看
導讀一、背景如今互聯網,隨著業務需求迭代快速,同一個服務可能存在多個同時開發和測試的功能,容易發生資源搶占分支互相沖突影響的問題,降低開發測試效率。同時微服務架構下,一個功能可能需要依賴多個服務。在測試其中一個服務

一、背景

如今互聯網,隨著業務需求迭代快速,同一個服務可能存在多個同時開發和測試的功能,容易發生資源搶占分支互相沖突影響的問題,降低開發測試效率。RpS28資訊網——每日最新資訊28at.com

同時微服務架構下,一個功能可能需要依賴多個服務。在測試其中一個服務的改動時,如果依賴的服務發生了改動或者故障,也會影響這個功能的測試。RpS28資訊網——每日最新資訊28at.com

......RpS28資訊網——每日最新資訊28at.com

以上種種問題情況,都會導致服務從測試到線上正式環境的環境差異性較大。RpS28資訊網——每日最新資訊28at.com

規范上線部署流程,通過對環境的隔離來剝離耦合型風險,便于問題暴露及快速解決。RpS28資訊網——每日最新資訊28at.com

圖片圖片RpS28資訊網——每日最新資訊28at.com

二、預發布環境

2.1 介紹

RpS28資訊網——每日最新資訊28at.com

預發布環境 Staging,即線上環境、正式生產環境。RpS28資訊網——每日最新資訊28at.com

為避免因為測試環境和線上環境的差異性等帶來的缺陷漏測而設立的一套環境。其配置等基本和線上一致,只是預發布環境web服務器不在線上集成服務器范圍之內,為單獨的一臺機器。RpS28資訊網——每日最新資訊28at.com

RpS28資訊網——每日最新資訊28at.com

預發布環境 也算是線上/正式生產環境,只是其具有特殊的隔離特性(包括網絡/數據/用戶/行為等),不能被線上用戶訪問。RpS28資訊網——每日最新資訊28at.com

2.2 預發布環境 vs 灰度環境


RpS28資訊網——每日最新資訊28at.com

預發布環境 RpS28資訊網——每日最新資訊28at.com

灰度環境RpS28資訊網——每日最新資訊28at.com

目標RpS28資訊網——每日最新資訊28at.com

正式發布之前進行最后的測試和準備工作,確保產品穩定可靠RpS28資訊網——每日最新資訊28at.com

在產品正式發布之前對用戶進行試用,收集反饋和觀察市場反應RpS28資訊網——每日最新資訊28at.com

范圍RpS28資訊網——每日最新資訊28at.com

涉及整個產品,所有功能和特性都會進行全面測試RpS28資訊網——每日最新資訊28at.com

僅涉及一小部分用戶,為了控制風險和規模可控RpS28資訊網——每日最新資訊28at.com

時間點RpS28資訊網——每日最新資訊28at.com

預發布通常在正式發布之前的最后階段進行,通常會有一個明確的時間表RpS28資訊網——每日最新資訊28at.com

灰度發布在預發布之后,但在正式發布之前的任何時間進行,其持續時間可以根據反饋和調整的需要而定RpS28資訊網——每日最新資訊28at.com

網絡RpS28資訊網——每日最新資訊28at.com

與生產隔離RpS28資訊網——每日最新資訊28at.com

與生產一致RpS28資訊網——每日最新資訊28at.com

隔離性RpS28資訊網——每日最新資訊28at.com

真實用戶無法訪問RpS28資訊網——每日最新資訊28at.com

真實用戶可訪問RpS28資訊網——每日最新資訊28at.com

2.3 變更操作

RpS28資訊網——每日最新資訊28at.com

RpS28資訊網——每日最新資訊28at.com

Q:如果新版本程序需要更改表結構等(eg. 加個表字段),那么,部署到預發布環境時也需要更改表字段,這個可能會影響線上環境程序代碼的運行,如何解決?RpS28資訊網——每日最新資訊28at.com

RpS28資訊網——每日最新資訊28at.com

RpS28資訊網——每日最新資訊28at.com

圖片圖片RpS28資訊網——每日最新資訊28at.com

1)把預發布環境使用的數據庫切換為測試環境使用的數據庫;RpS28資訊網——每日最新資訊28at.com

2)根據實際部署過程,如果有必要,可有針對性的測試下數據庫的變更是否會影響線上當前代碼程序的運行;RpS28資訊網——每日最新資訊28at.com

3)把新代碼部署到預發布環境,測試程序是否正常運行;RpS28資訊網——每日最新資訊28at.com

4)預發布測試完畢,如果沒問題,先上線數據庫(即在正式環境執行對應的數據庫變更操作);RpS28資訊網——每日最新資訊28at.com

5)把預發布環境連接的數據庫切換為線上環境使用的數據庫,再次進行預發布環境的測試;RpS28資訊網——每日最新資訊28at.com

6)如果預發布環境測試通過,則把預發布環境的代碼部署到線上生產環境。RpS28資訊網——每日最新資訊28at.com

三、多泳道部署

3.1 介紹

多泳道部署(Multi-lane Deployment)是一種部署策略。RpS28資訊網——每日最新資訊28at.com

當指定某泳道發布服務時,發布系統會為該服務的實例打上相應的泳道標記,服務注冊和發現模塊就能知道同一服務的不同實例所屬的泳道。RpS28資訊網——每日最新資訊28at.com

RpS28資訊網——每日最新資訊28at.com

圖片圖片RpS28資訊網——每日最新資訊28at.com

所謂泳道,可以理解為多個并行且相互隔離的調用鏈,彼此調用互不影響,就如同泳池里的泳道一樣。這種策略可以提高系統的可用性和容錯性,因為如果一個泳道出現問題,其他泳道仍然可以正常運行。RpS28資訊網——每日最新資訊28at.com

除了創建出來的泳道之外,還會存有一條默認的主干道,為各個服務提供默認實例,可以將其理解為常規的、常備的測試環境。除了創建的泳道外,還會存在一條默認的主干道,提供各個服務的默認實例,可以理解為常規、常備的測試環境。RpS28資訊網——每日最新資訊28at.com

RpS28資訊網——每日最新資訊28at.com

3.2 端到端的統一

1)在服務 A 需對服務 B 進行訪問之時,服務 A 會率先于服務發現模塊當中獲取服務 B 實例的地址。鑒于服務 A 在請求中添加了 t2 泳道的標識,此時服務發現模塊將會從服務 B 處于 t2 泳道的實例之中選取其一進行返回,隨后服務 A 便可直接對相應實例予以訪問。RpS28資訊網——每日最新資訊28at.com

2)移動端和 web 端團隊需要配合做相應的改造。測試時,移動端和 web 端的測試人員能夠自行切換至指定泳道,切換完畢后,所有發送至服務端的請求都會帶上相應的泳道標記,這樣泳道測試就實現了端到端統一。RpS28資訊網——每日最新資訊28at.com

圖片圖片RpS28資訊網——每日最新資訊28at.com

泳道 主要解決的問題:RpS28資訊網——每日最新資訊28at.com

  • 解決資源搶占,提高研發效率
  • 保證測試環境的穩定性

RpS28資訊網——每日最新資訊28at.com

3.3 實現思路

實現多泳道部署,主要思路包括以下幾點:RpS28資訊網——每日最新資訊28at.com

1、環境準備RpS28資訊網——每日最新資訊28at.com

    首先,需要準備多個獨立的環境,這些環境可以是物理服務器,也可以是虛擬機或容器。不同的需求需要隔離級別不同,如果多環境共用底層數據,則代碼中使用域名配置數據庫,由 DNS 服務指向同一套數據庫。RpS28資訊網——每日最新資訊28at.com

    多數情況下,泳道還是采用的底層共用數據存儲,好處是每次新創建分支用不到不用再創建數據庫和同步數據,大大提高了環境申請和銷毀效率。對于自動化測試等需要數據隔離的,我們則另外部署一套全鏈路環境。RpS28資訊網——每日最新資訊28at.com

2、配置管理RpS28資訊網——每日最新資訊28at.com

    每個泳道可能需要不同的配置,例如數據庫連接字符串、第三方服務的API密鑰等。你需要一個配置管理系統來管理這些配置,并確保它們在部署時被正確地應用到每個泳道。RpS28資訊網——每日最新資訊28at.com

    邏輯結構主要分為主泳道和分支泳道RpS28資訊網——每日最新資訊28at.com

主泳道部署全鏈路穩定代碼,作為公共環境,承載其他環境缺省服務,保證請求鏈路通暢。RpS28資訊網——每日最新資訊28at.com

分支泳道只需部署改動或增量服務,未改動服務使用主泳道中服務,減少公共服務的維護成本,提高使用效率等。RpS28資訊網——每日最新資訊28at.com

3、部署策略RpS28資訊網——每日最新資訊28at.com

    你需要決定如何將應用程序部署到各個泳道。你可以選擇一次部署到所有泳道,也可以選擇逐個部署。RpS28資訊網——每日最新資訊28at.com

    逐個部署可以降低風險,因為如果新版本有問題,你可以在部署到所有泳道之前發現并修復它。RpS28資訊網——每日最新資訊28at.com

4、流量管理RpS28資訊網——每日最新資訊28at.com

    你需要一個負載均衡器或類似的工具來管理流量,將請求分發到各個泳道。你可以根據各種策略來分發流量,例如輪詢、最少連接數、響應時間等。RpS28資訊網——每日最新資訊28at.com

    網關層負責環境識別與環境標識注入,通過測試域名隔離不同環境,RPC 層負責服務發現與選擇,環境標識透傳等。RpS28資訊網——每日最新資訊28at.com

5、監控和故障恢復RpS28資訊網——每日最新資訊28at.com

    你需要監控每個泳道的性能和健康狀況,并在檢測到問題時自動或手動切換到其他泳道。RpS28資訊網——每日最新資訊28at.com

四、總結

多泳道建設是一種高效、靈活的開發模式,尤其適用于復雜項目和跨部門協作場景。通過合理劃分泳道、優化資源分配和加強團隊協作,我們可以顯著提高軟件交付速度和質量。RpS28資訊網——每日最新資訊28at.com

在未來軟件開發中,多泳道建設將繼續發揮重要作用。希望本文能為你提供有益的參考和啟示。RpS28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-98410-0.html如何正確使用上線部署,泳道、預發布到底如何理解?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 11個高可用設計實戰技巧,輕松應對大廠面試

下一篇: 我們一起聊聊如何編寫一個 Java memcached 客戶端

標簽:
  • 熱門焦點
Top