随着近些年各種層出不窮的技術以及企業核心需求的推動,IT行業的發展勢必會倒逼公司旗下産品的更新疊代,同時在産品由舊變新的更新過程中也有很多注意要點。由于公司産品大多以整合方案的形式部署到環境上,是以更新部署是否可快速簡便尤為重要。
産品更新對項目實施運維人員是個不小的考驗,由于項目實施産品版本相對較老,與本次更新版本差距較大,導緻産品更新問題重重。為快速搭建開發環境、部署叢集服務、提供更靈活快速的疊代機制、以及友善統一管理産品,決定使用公司的UMC産品。
1整體介紹
下面對于UMC雲管理平台下ESB産品更新進行說明,UMC是使用新版本直接安裝,按照之前的方案進行建立;對于ESB産品是需要備份并比對新版資料庫,再進行新版ESB的部署。更新的字段和預置資料進行更新,特别資料系統表的更新,在更新的前提上,把産品鏡像上傳,同步資料後配置資料庫連接配接以及redis的配置,保障産品的正常啟動。
1.1産品介紹
UMC雲管理平台可以了解為是在建立一個中心生态系統,幫助企業連接配接不同的系統,允許部署和維護內建流,改善企業内部資料和應用程式之間的連接配接和通信,允許租戶之間共享執行個體,消除過載、降低成本并提高使用速度,實作企業業務內建和資料內建。UMC雲管理平台是雲平台開發、部署、管理、運維的統一管理中心,對K8S叢集配置、運作狀态等進行統一管理,滿足雲原生四個基本要素:容器化、微服務、DevOPS持續傳遞、多租戶管理。
ESB企業服務總線算是一個內建的容器,在企業資訊化建設的過程中,ESB一直作為核心産品以“龍骨”的姿态內建企業中的各個業務系統。ESB是傳統中間件技術與XML、Web服務等技術互相結合的産物,用于實作企業不同應用間消息和資訊準确、高效、安全傳遞,消除應用之間的技術差異,讓不同的應用服務協調運作,實作服務之間的通信與整合。
1.2更新準備
首先,在進行平台更新前要做好更新準備,在資料庫層面考慮,産品在更新發版過程中會有對應的發版說明,其中記錄了每次更新發版對應的資料庫調整,更新人員需根據項目中的産品實際版本找到對應的發版說明,整理對應的資料庫調整記錄,将項目中的資料庫結構與更新版本的資料庫結構進行對比,保證資料庫的一緻性,資料庫先在測試環境調整,調整後在測試環境部署,并測試使用,測試包括:控制台的基本操作、服務接口、業務流程,做到全方位測試,以保證正式環境更新的順利開展。
其次,在方案中對産品更新的具體功能進行介紹,哪些更新是客戶提出的需求,解決了哪些問題,從使用人員、運維人員的角度按照以下幾點分别介紹:
1.方案更新:對于産品的主要功能,內建模式等方案性的更新調整,進行概述介紹,從需求到實作成果均需簡單描述。
2.優化操作:在産品的實際使用過程中,會有部分操作不友好,或者性能不夠優化的功能點,按照實際更新調整内容概述操作上優化的部分。
3.BUG修複:産品在疊代更新直至精品的過程中,就是不斷發現問題,解決問題的過程,更新也不例外,概述更新調整的BUG問題。
4.服務增加:對于新的方案,在服務接口層有哪些調整,增加了哪些服務接口,都需要進行整理記錄。
1.3更新步驟
下面介紹一下更新的整體步驟:
1.建立臨時資料庫,初始化新版本資料;
2.基于發版說明和資料庫對比,更新原測試環境資料庫;
3.通過UMC上傳新版本産品鏡像;
4.對測試環境進行産品更新;
5.其他相關産品參數配置、流程更新;
6.對測試環境進行産品功能測試、業務測試、流程測試等;
7.測試完成後,根據測試環境的更新内容,對生産環境進行更新。
2基礎準備
下面介紹基礎準備工作保障在更新過後如果存在異常可以快速復原,保障企業業務等可以正常運轉,準備工作主要包含資料庫備份、建立臨時資料庫以及資料庫注冊。
2.1資料庫備份
對正在運作的各個資料庫進行資料庫備份,可以使用資料庫内置方法或第三方工具進行資料庫備份,并記錄資料庫備份的具體時間。
2.2臨時資料庫
進行更新前需要先建立一個臨時資料庫:
資料初始化操作主要作用是和舊版本資料庫進行字段結構對比,是以需要進行新版本資料庫的初始化操作,初始化資料庫有兩種方式:
第一種其資料的初始化方法和日常操作資料庫初始化操作是類似的。
第二種方式是通過産品内置的sql腳本方式進行資料的初始化(腳本位置在server産品中的“\conf\sqls”路徑下的“mysql.sql”腳本檔案中)。然後通過UMC産品的資料處理當中的“初始化sql”功能進行資料初始化,如下所示:
2.3資料庫注冊
在UMC内進行資料庫注冊,友善後續使用資料處理子產品功能,對資料進行檢查,要把每個産品不同環境下的資料庫都進行注冊,本次項目注冊資料庫具體如下,測試連接配接是否注冊成功即可。
3資料處理
資料對比主要是将各個産品的曆史資料庫和新版本資料庫進行資料比對,通過UMC資料處理功能将對應的資料庫表結構進行資料同步。整合了各個産品的資料庫,可以更便捷地進行資料更新和管理。
3.1資料對比
使用UMC資料處理子產品的資料對比功能,直接進行資料對比即可,在對比時要選擇兩個資料庫,注意源表是新初始化的資料庫,而目标表是曆史資料庫。
缺少的表是指曆史資料庫中缺少的表,如果有表缺少則需要同步到曆史資料庫當中。
多出的表是指曆史版本資料庫比初始化的資料庫多出的表,如果有表多出無需處理。
不同的表是指曆史資料庫和新版本産品資料庫字段結構不同,不同字段資訊需要一一進行記錄,并于各個産品經理确認每個字段的預制資料,防止因為預制資料缺失,而出現頁面異常現象。
接下來我們通過UMC的結構對比把上述表,進行資料結構調整如下所示:
3.2資料同步
将缺少的資料新增至新庫中,對于檢視到的不同資料以及結構進行同步。涉及資料表結構新增、變更字段資訊的字段均要與産品研發人員确認預置的資料資訊。資料處理子產品的同步功能,将缺少的資料新增至新庫中,可以檢視到不同的資料以及結構進行同步。
通過UMC資料對比功能,根據上述表進行一個對比,把新增的資料插入,如下所示:
3.3資料配置
在ESB産品的資料庫表中,要連接配接成新環境下的資料庫資訊,可通過新版server配置檔案和舊版産品配置檔案進行對比。修改對應配置檔案資訊config.properties的相關資料。
修改後,可到産品資料庫資源子產品進行測試連接配接,不同環境下的産品資料庫都要進行測試連接配接。
4産品配置
在整體更新之前要提前做準備工作,保障企業業務等可以正常運轉,資料處理完成後需要進行産品的相關配置,首先上傳鏡像,成功後進行租戶配置,進行産品的更新和啟動。
4.1鏡像資訊
1.首先來到UMC控制台,打開鏡像資訊子產品,把ESB産品server進行上傳鏡像。這一步主要是對“esb_server_x64_v3.5.6_xxxxxxxx”檔案的操作。
2.選擇“上傳”按鈕,選擇“esb_server_x64_v3.5.6_xxxxxxxx”檔案進行上傳。
3.上傳成功後,依次點選“構造鏡像”-“推送鏡像”,推送鏡像成功後即完成新産品的鏡像上傳。
4.推送鏡像成功後,會彈出成功視窗。
4.2租戶配置
1.這時在租戶配置子產品,找到“租戶配置”頁面,位置如下。
2.選擇需要更新的環境産品後,點選deploy部署狀态的編輯按鈕。
3.進入編輯deploy彈窗,點選反建立按鈕,再選擇引用鏡像按鈕,選擇剛剛上傳的産品鏡像。
4.再依次點選“反建立”-“編輯”-“儲存”。
5.在編輯頁面點選“建立”按鈕,會彈出yaml詳情,點選“确認建立”。
6.這時就已經替換完畢了,點選“檢視狀态”按鈕,檢視産品啟動情況。
7.如果是否啟動處為“1/1”,即為啟動成功。
4.3注意事項
1.及時對産品進行更新檔上傳,在啟動新版本産品時,注意需要将曆史更新檔檔案禁用,全部配置完成後對ESB産品內建流程等各個子產品以及頁面均進行測試及調試。
2.在更新的過程中對server相關的參數進行優化調整,包括資料庫連接配接、系統全局變量等。
3.對資料庫的更新内容進行記錄,以便在更新生産環境資料庫時進行相同操作,也友善在調整錯誤後及時進行復原,避免發生無法恢複的狀态。
5心得說明
通過本次項目的環境更新部署以及産品更新,加深了對于産品的了解,同時也暴露了自身的諸多問題,下面對于能力提升、個人收獲、心得體會進行總結。
5.1能力提升
通過平時過程中對技能點的随手記錄,在撰寫這篇文章的過程中,再次縷清自己的邏輯。在後續工作中,應該把文檔分門别類的整理出來,例如教程類的歸為一類、錯誤資訊及解決方案的歸為一類、知識點歸為一類,以便日後的更新疊代及快速查找。