一種交易無損的分布式部署方法及系統的制作方法
【技術領域】
[0001] 本發明涉及一種交易無損的分布式部署方法及系統。
【背景技術】
[0002] 隨著網絡時代的發展,網絡用戶的增加,用戶對所使用系統的要求也越來越高,單 個主機或應用性能再高也已無法滿足要求,阿里巴巴提出去I0E概念,并實現去I0E化,降 低維護成本,實現低成本化,越來越多服務提供商采用分布式云化部署,負載均衡、多機熱 備等部署方案,避免單點故障和性能壓力。
[0003]目前大型系統分布式部署多數都是通過負載均衡機配置交易平均分發到多臺設 備上的應用,當某臺設備應用異常時,負載均衡機每隔一段時間(配置幾秒到幾十秒)探測 到應用異常,則不再分發請求到該應用,但當交易量很大時,比如每秒幾十筆到上百筆,從 負載均衡判斷異常到分發阻斷這段時間,已經導致大量交易失敗,無法正常受理。
【發明內容】
[0004] 本發明所要解決的技術問題是,對于電信行業用戶需求多變,應用需要頻繁重啟 的情況,又要保障集團對于交易正常受理的考核,必須做到交易無損,故增加前置機應用, 通過該應用實現交易實時探測,做到異常時交易無損,提供一種通過配置實時探測WEB應 用的可用性,做到應用層升級單點重啟交易無損,客戶端和用戶無感知,提升用戶體驗的交 易無損的分布式部署方法。
[0005] 本發明解決上述技術問題的技術方案如下:一種交易無損的分布式部署方法,具 體包括以下步驟:
[0006] 步驟1 :前置機與多個web應用端建立連接;
[0007] 步驟2:在前置機應用中復制web應用端的配置,并將復制的配置加載到內存中并 進行處理;
[0008] 步驟3:設置全局變量,循環讀取處理后的配置,使前置機對每個web應用端實現 資源平均分配;
[0009] 步驟4 :前置機接收客戶端發送的請求,依次提取每個wed應用端的url;
[0010] 步驟5 :探測wed應用端,判斷獲取的url是否可用,如果是,執行步驟6 ;否則,執 行步驟7 ;
[0011] 步驟6 :客戶端通過前置機訪問wed應用端,結束;
[0012]步驟7:客戶端訪問前置機中備用url,結束。
[0013] 本發明的有益效果是:增加前置應用可以非常有效的增加系統的穩定性,在WEB應用層升級上線時只需要按臺分別操作,將不會產生任何失敗交易;增加前置應用優于直 接通過負載均衡接入WEB應用的場景,如果負載均衡直接接入WEB應用層,WEB應用層重啟 時先通知負載均衡器應用需要重啟,然后再進行重啟,也可以避免重啟時應用無損,但存在 重啟耗時長的缺點(需等待負載均衡器探測完成),并且如果WEB應用由于異常掛起時(依 賴數據庫,并且頻繁升級,出問題的可能性大),無法避免的將會產生很多失敗交易;通過 增加前置層,提高系統穩定性和用戶良好感知。
[0014] 在上述技術方案的基礎上,本發明還可以做如下改進。
[0015] 進一步,所述步驟4包括以下步驟:
[0016] 步驟4. 1 :客戶端發出請求,前置機接收客戶端發送的請求;
[0017] 步驟4.2 :判斷前置機是否需要重啟,如果是,執行步驟4.3 ;否則,依次提取每個 wed應用端的url,執行步驟5 ;
[0018] 步驟4. 3 :前置機通知負載均衡器該前置機不可用,負載均衡器增加url探測,不 發送請求到不可用的前置機;
[0019] 步驟4. 4:不可用的前置機進行重啟,接收客戶端發送的請求,依次提取每個wed 應用端的url,執行步驟5〇
[0020] 進一步,所述步驟2中前置機應用中復制web應用端的配置包括訪問url和測試 url〇
[0021] 進一步,所述步驟2中對配置的處理為:將訪問url和測試url加載到數組中。
[0022] 本發明解決上述技術問題的技術方案如下:一種交易無損的分布式部署系統,包 括連接建立模塊、配置模塊、設置模塊、請求接收模塊和判斷模塊;
[0023] 所述連接建立模塊用于使前置機與多個web應用端建立連接;
[0024] 所述配置模塊用于在前置機應用中復制web應用端的配置,并將復制的配置加載 到內存中并進行處理;
[0025] 所述設置模塊用于設置全局變量,循環讀取處理后的配置,使前置機對每個web 應用端實現資源平均分配;
[0026] 所述請求接收模塊用于控制前置機接收客戶端發送的請求,依次提取每個wed應 用端的url;
[0027] 所述判斷模塊探測wed應用端,判斷獲取的url是否可用,如果是,客戶端通過前 置機訪問wed應用端;否則,客戶端訪問前置機中備用url。
[0028] 本發明的有益效果是:增加前置應用可以非常有效的增加系統的穩定性,在WEB 應用層升級上線時只需要按臺分別操作,將不會產生任何失敗交易;增加前置應用優于直 接通過負載均衡接入WEB應用的場景,如果負載均衡直接接入WEB應用層,WEB應用層重啟 時先通知負載均衡器應用需要重啟,然后再進行重啟,也可以避免重啟時應用無損,但存在 重啟耗時長的缺點(需等待負載均衡器探測完成),并且如果WEB應用由于異常掛起時(依 賴數據庫,并且頻繁升級,出問題的可能性大),無法避免的將會產生很多失敗交易。
[0029] 在上述技術方案的基礎上,本發明還可以做如下改進。
[0030] 進一步,所述請求接收模塊包括請求模塊、重啟判斷模塊、重新探測模塊和重啟模 塊;
[0031] 所述請求模塊用于客戶端發出請求,前置機接收客戶端發送的請求;
[0032] 所述重啟判斷模塊用于判斷前置機是否需要重啟,如果是,重新探測模塊;否則, 依次提取每個wed應用端的url,觸發判斷模塊;
[0033]所述重新探測模塊用于前置機通知負載均衡器該前置機不可用,負載均衡器增加 url探測,不發送請求到不可用的前置機;
[0034] 所述重啟模塊用于控制不可用的前置機進行重啟,接收客戶端發送的請求,依次 提取每個wed應用端的url〇
[0035] 進一步,所述配置模塊中前置機應用中復制web應用端的配置包括訪問url和測 試url〇
[0036] 進一步,所述配置模塊中對配置的處理為:將訪問url和測試url加載到數組中。
[0037] 本方案的核心在于在負載均衡和WEB應用層之間增加一個前置層,前置層的作用 和特點如下:
[0038] 1、前置層業務邏輯簡單,配置化高,改動少;
[0039] 2、無需頻繁重啟應用,相對穩定;
[0040] 3、前置層與數據無關,不連數據庫,避免數據庫問題導致應用掛起;
[0041] 4、前置層可適當增加保障功能,在WEB應用層異常掛起時,可以進行交易響應,避 免客戶端無法接收應答。
【附圖說明】
[0042] 圖1為本發明實施例所述的一種交易無損的分布式部署方法流程圖;
[0043] 圖2為本發明實施例所述的一種交易無損的分布式部署系統結構框圖;
[0044] 圖3為本發明具體實施例1所述的分布式部署圖。
[0045] 附圖中,各標號所代表的部件列表如下:
[0046] 1、連接建立模塊,2、配置模塊,3、設置模塊,4、請求接收模塊,5、判斷模塊,41、請 求模塊,42、重啟判斷模塊,43、重新探測模塊,44、重啟模塊。
【具體實施方式】
[0047] 以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并 非用于限定本發明的范圍。
[0048] 如圖1所示,為本發明實施例所述的一種交易無損的分布式部署方法,具體包括 以下步驟:
[0049] 步驟1 :前置機與多個web應用端建立連接;
[0050] 步驟2 :在前置機應用中復制web應用端的配置,并將復制的配置加載到內存中并 進行處理;
[0051] 步驟3:設置全局變量,循環讀取處理后的配置,使前置機對每個web應用端實現 資源平均分配;
[0052] 步驟4 :前置機接收客戶端發送的請求,依次提取每個wed應用端的url;
[0053] 步驟5 :探測wed應用端,判斷獲取的url是否可用,如果是,執行步驟6 ;否則,執 行步驟7 ;
[0054] 步驟6 :客戶端通過前置機訪問wed應用端,結束;
[0055] 步驟7 :客戶端訪問前置機中備用url,結束。
[0056] 所述步驟4包括以下步驟:
[0057] 步驟4. 1 :客戶端發出請求,前置機接收客