肖圣魁 孫榮 姜東參 扶湘典
摘 要:三峽通航調(diào)度系統(tǒng)作為三峽局的核心應(yīng)用系統(tǒng),涉及船舶過閘申報、計劃下發(fā)、過閘統(tǒng)計、信息服務(wù)等各個重要的業(yè)務(wù)。近些年隨著三峽通航業(yè)務(wù)的不斷深化拓展,調(diào)度系統(tǒng)的壓力日益增加,已經(jīng)逐漸無法滿足三峽通航信息化水平飛速發(fā)展的需要。為進(jìn)一步提升系統(tǒng)的穩(wěn)定性以及可持續(xù)性,本文對目前調(diào)度系統(tǒng)存在的主要問題進(jìn)行的分析,并研究目前主流的系統(tǒng)高可用部署技術(shù),提出一套適用于三峽通航調(diào)度系統(tǒng)的架構(gòu)優(yōu)化方案。
關(guān)鍵詞:三峽通航;架構(gòu);高可用
中圖分類號:U641? ? ? ? ?文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? 文章編號:1006—7973(2021)10-0067-02
三峽通航調(diào)度系統(tǒng)是以三峽局頒布的《通航調(diào)度管理辦法》為指導(dǎo),構(gòu)建涵蓋壩區(qū)升船機(jī)、葛洲壩船閘、三峽船閘、錨地等通航設(shè)施于一體的綜合調(diào)度模型。并在此基礎(chǔ)上,以三峽局《信息資源規(guī)劃方案》為依據(jù),充分利用已建設(shè)網(wǎng)絡(luò)系統(tǒng)、GPS綜合應(yīng)用系統(tǒng)、應(yīng)用框架系統(tǒng)和數(shù)據(jù)中心等資源,系統(tǒng)性構(gòu)建三峽升船機(jī)航運調(diào)度、安檢系統(tǒng)。調(diào)度系統(tǒng)功能主要包括:智能化調(diào)度方案生成、船舶定位與報到、船舶過壩申報、船舶動態(tài)管理、調(diào)度計劃、預(yù)計劃、安檢計劃、調(diào)度管理、錨地管理、運行管理、氣象水情管理等功能。目前隨著三峽通航業(yè)務(wù)的發(fā)展,在調(diào)度系統(tǒng)的基礎(chǔ)上二次開發(fā)了資料審核、區(qū)域聯(lián)動、復(fù)檢計劃、船舶流量控制等功能,對調(diào)度系統(tǒng)的壓力逐漸增加,為提升系統(tǒng)的穩(wěn)定性,滿足不斷發(fā)展的業(yè)務(wù)需求,亟需對調(diào)度系統(tǒng)的架構(gòu)進(jìn)行優(yōu)化調(diào)整。
1 三峽通航調(diào)度系統(tǒng)運行現(xiàn)狀及存在的問題
調(diào)度系統(tǒng)作為三峽通航業(yè)務(wù)內(nèi)部使用的重要系統(tǒng),部署在內(nèi)網(wǎng)環(huán)境,其應(yīng)用服務(wù)器的整體架構(gòu)如下圖所示:
調(diào)度安檢系統(tǒng)在船舶申報、調(diào)度、計劃以及安檢等各個流程及環(huán)節(jié)發(fā)揮了重要的作用,但隨著運行時間的增加,部分問題日益凸顯,對服務(wù)器及系統(tǒng)的穩(wěn)定運行造成的較大的影響,影響了調(diào)度系統(tǒng)后期的升級優(yōu)化,無法滿足日益增長的業(yè)務(wù)需要。
調(diào)度系統(tǒng)應(yīng)用服務(wù)器目前部署有IBM websphere中間件,為主從模式。當(dāng)主服務(wù)器故障時,將直接導(dǎo)致調(diào)度系統(tǒng)業(yè)務(wù)中斷;當(dāng)從服務(wù)器故障時,主服務(wù)器應(yīng)用負(fù)載大幅度增加,影響系統(tǒng)運行速度。
根據(jù)以上分析可以發(fā)現(xiàn),調(diào)度系統(tǒng)采用的主從結(jié)構(gòu)雖然能夠?qū)I(yè)務(wù)進(jìn)行負(fù)載均衡,減少服務(wù)器應(yīng)用的壓力,但依舊存在單節(jié)點隱患。三峽通航作為影響長江水運的重要業(yè)務(wù)節(jié)點,一旦調(diào)度系統(tǒng)產(chǎn)生故障,將會影響船舶正常過閘流程,保證服務(wù)器及系統(tǒng)應(yīng)用的穩(wěn)定運行至關(guān)重要。因此,對調(diào)度系統(tǒng)的架構(gòu)進(jìn)行優(yōu)化是十分必要的。
2 架構(gòu)技術(shù)分析
(1)集群。集群就是一組相互獨立的計算機(jī),通過高速的網(wǎng)絡(luò)組成一個計算機(jī)系統(tǒng),每個集群節(jié)點都是運行其自己進(jìn)程的一個獨立服務(wù)器。對網(wǎng)絡(luò)用戶來講,網(wǎng)站后端就是一個單一的系統(tǒng),協(xié)同起來向用戶提供系統(tǒng)資源,系統(tǒng)服務(wù)。通過網(wǎng)絡(luò)連接組合成一個組合來共同完成一個任務(wù)。根據(jù)目的的不同,服務(wù)器集群可以分為高性能集群、高可用集群以及負(fù)載均衡集群。
(2)負(fù)載均衡。負(fù)載均衡(Load Balance)是集群技術(shù)(Cluster)的一種應(yīng)用。負(fù)載均衡可以將工作任務(wù)分?jǐn)偟蕉鄠€處理單元,從而提高并發(fā)處理能力。任何的負(fù)載均衡技術(shù)都要想辦法建立某種一對多的映射機(jī)制:一個請求的入口映射到多個處理請求的節(jié)點,從而實現(xiàn)分而治之。這種映射機(jī)制使得多個物理存在對外體現(xiàn)為一個虛擬的整體,對服務(wù)的請求者屏蔽了內(nèi)部的結(jié)構(gòu)。
(3)高可用。高可用HA(High Availability)是分布式系統(tǒng)架構(gòu)設(shè)計中必須考慮的因素之一,它通常是指,在集群服務(wù)器架構(gòu)中,當(dāng)主服務(wù)器故障時,備份服務(wù)器能夠自動接管主服務(wù)器的工作,并及時切換過去,以實現(xiàn)對用戶的不間斷服務(wù)。
根據(jù)對不同架構(gòu)技術(shù)進(jìn)行分析比選,并結(jié)合三峽通航業(yè)務(wù)發(fā)展的實際,目前三峽通航業(yè)務(wù)能力從小型朝著中型過渡,對業(yè)務(wù)的連續(xù)性較高,同時因為系統(tǒng)數(shù)量較多、環(huán)境復(fù)雜,本次架構(gòu)的部署應(yīng)該盡量簡單;經(jīng)過研究分析,擬采用負(fù)載均衡以及高可用作為本次服務(wù)器架構(gòu)優(yōu)化的方案,使用的軟件為LVS、Keepalive以及Nginx。
3 架構(gòu)部署以及實現(xiàn)
LVS是一個開源的軟件,可以實現(xiàn)傳輸層四層負(fù)載均衡。LVS是Linux Virtual Server的縮寫,意思是Linux虛擬服務(wù)器。目前有三種IP負(fù)載均衡技術(shù)(VS/NAT、VS/TUN和VS/DR);八種調(diào)度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。
Keepalived基于VRRP協(xié)議來實現(xiàn)高可用解決方案,避免單點故障[1]。至少需要兩臺服務(wù)器運行Keepalived[2],即一臺為Master,另一臺為Backup,但對外表現(xiàn)為一個VIP(虛擬IP)。兩臺服務(wù)器會檢測對方狀態(tài),如果有一臺服務(wù)器宕機(jī),或工作出現(xiàn)故障,Keepalived將檢測到,并將有故障的服務(wù)器從系統(tǒng)中剔除,同時使用其他服務(wù)器代替該服務(wù)器的工作,當(dāng)服務(wù)器工作正常后Keepalived自動將服務(wù)器加入到服務(wù)器群中,通過服務(wù)器自動接管應(yīng)用,能夠避免產(chǎn)生單點故障。
經(jīng)過優(yōu)化后的架構(gòu)如下圖所示:
4 總結(jié)
根據(jù)以上的測試結(jié)果,可以發(fā)現(xiàn)通過LVS+Keepalived+Nginx的高可用架構(gòu),能夠有效避免產(chǎn)生單點故障,提升服務(wù)器的穩(wěn)定。同時隨著業(yè)務(wù)的不斷增加,通過增加節(jié)點服務(wù)器給Nginx服務(wù)器分擔(dān)負(fù)載,具有較高的可持續(xù)性,可以有效適應(yīng)三峽通航業(yè)務(wù)的不斷發(fā)展,為三峽通航信息化水平的進(jìn)一步發(fā)展打下一定的基礎(chǔ)。
參考文獻(xiàn):
[1]單康康,王勇超,郭曄.基于LVS+Keepalived的DNS集群研究[J].電信快報,2018(3):26-28
[2]孫天昊,陳飛,鄧俊昆.一種基于cookie回話保持的LVS集群系統(tǒng)[J].計算機(jī)應(yīng)用研究,2013(4):1102-1104.