一種分布式集群環(huán)境下集中配置分發(fā)管理的方法
【專利摘要】本發(fā)明公開了一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,其具體實現(xiàn)過程為:加載配置文件;檢查分布式協(xié)同服務(wù)中是否存在該項配置;如果存在,讀取協(xié)同服務(wù)中的配置加載到應(yīng)用系統(tǒng)中;如果不存在,將本地配置上傳到協(xié)同服務(wù)并加載到應(yīng)用系統(tǒng)中;如果需要修改某項配置,通過集中管理工具修改協(xié)同服務(wù)中的配置;最后,在應(yīng)用系統(tǒng)中使用配置。該一種分布式集群環(huán)境下集中配置分發(fā)管理的方法與現(xiàn)有技術(shù)相比,為分布式集群環(huán)境下Web應(yīng)用系統(tǒng)配置提供統(tǒng)一的集中管理,解決分布式系統(tǒng)部署、更新、管理成本高的問題,實用性強。
【專利說明】—種分布式集群環(huán)境下集中配置分發(fā)管理的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機集群【技術(shù)領(lǐng)域】,具體地說是一種實用性強、分布式集群環(huán)境下集中配置分發(fā)管理的方法。
【背景技術(shù)】
[0002]云計算、移動互聯(lián)、社交網(wǎng)絡(luò)、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)蓬勃發(fā)展的時代下,信息正以不可估量的速度在被創(chuàng)造和傳播,并且這種趨勢已經(jīng)從互聯(lián)網(wǎng)蔓延至各個行業(yè)和領(lǐng)域。承載信息展現(xiàn)和與用戶交互的互聯(lián)網(wǎng)系統(tǒng)、移動互聯(lián)系統(tǒng)等分布式系統(tǒng)如雨后春筍般應(yīng)運而生,跨地域、跨機房的大規(guī)模分布式系統(tǒng)面臨許多問題和挑戰(zhàn),而簡單、高效、可靠的管理分布式系統(tǒng)配置是其中至關(guān)重要的一環(huán),因為系統(tǒng)配置影響整個分布式系統(tǒng)的運行狀態(tài)。
[0003]基于此,現(xiàn)提出一種為組織的分布式系統(tǒng)提供應(yīng)用配置集中管理的分布式集群環(huán)境下集中配置分發(fā)管理的方法。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種實用性強、分布式集群環(huán)境下集中配置分發(fā)管理的方法。
一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,其具體實現(xiàn)過程為:
一、首先加載配置文件;
二、檢查分布式協(xié)同服務(wù)中是否存在該項配置;
三、如果存在,讀取協(xié)同服務(wù)中的配置加載到應(yīng)用系統(tǒng)中;另監(jiān)聽分布式協(xié)同服務(wù)中該項配置的變化;
四、如果不存在,將本地配置上傳到協(xié)同服務(wù)并加載到應(yīng)用系統(tǒng)中;另監(jiān)聽分布式協(xié)同服務(wù)中該項配置的變化;
五、如果需要修改某項配置,通過集中管理工具修改協(xié)同服務(wù)中的配置;監(jiān)聽程序發(fā)現(xiàn)該項配置發(fā)生變化,將變化的數(shù)據(jù)直接加載到應(yīng)用系統(tǒng)中;
六、最后,在應(yīng)用系統(tǒng)中使用配置。
[0005]所述步驟一中的配置文件包括讀取本地配置文件和遠(yuǎn)程配置文件兩種:當(dāng)連接不上分布式協(xié)同服務(wù)時,使用本地配置,否則使用遠(yuǎn)程配置;當(dāng)?shù)谝淮畏植际絽f(xié)同服務(wù)中沒有應(yīng)用的數(shù)據(jù),程序啟動的時候自動上傳配置,創(chuàng)建完成后,終止上傳。
[0006]所述配置管理過程在分布式協(xié)同系統(tǒng)中進行,其中步驟五中的集中管理工具即為設(shè)置在系統(tǒng)中的ZooKeeper管理工具,該ZooKeeper的數(shù)據(jù)結(jié)構(gòu)原型為一棵znode樹,運行在一組服務(wù)器上,提供Watcher機制,使得各客戶端與服務(wù)器的交互變得松耦合。
[0007]所述分布式協(xié)同系統(tǒng)中內(nèi)置若干服務(wù)器,每個服務(wù)器在內(nèi)存中存儲一份數(shù)據(jù);月艮務(wù)啟動時,從某個服務(wù)器的存儲數(shù)據(jù)中選舉一個Leader,該Leader負(fù)責(zé)處理所有服務(wù)器數(shù)據(jù)更新操作;當(dāng)且僅當(dāng)80%服務(wù)器在內(nèi)存中成功修改數(shù)據(jù),一個更新操作成功。
[0008]所述分布式協(xié)同系統(tǒng)支持步驟一中的配置文件的變量化配置,該變量化配置包括一般屬性、公共屬性、spring中的數(shù)據(jù)庫配置、log4j日志配置文件的管理。
[0009]本發(fā)明的一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,具有以下優(yōu)點:
該發(fā)明的一種分布式集群環(huán)境下集中配置分發(fā)管理的方法通過分布式協(xié)同服務(wù)ZooKeeper與Web應(yīng)用系統(tǒng)建立一致、穩(wěn)定、高效、可靠的協(xié)調(diào)機制,為分布式集群環(huán)境下Web應(yīng)用系統(tǒng)配置提供統(tǒng)一的集中管理,解決分布式系統(tǒng)部署、更新、管理成本高的問題;實用性強,適用范圍廣泛,易于推廣。
【專利附圖】
【附圖說明】
[0010]附圖1為本發(fā)明的實現(xiàn)流程圖。
[0011]附圖2為本發(fā)明的分布式集群結(jié)構(gòu)圖。
【具體實施方式】
[0012]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明。
[0013]本發(fā)明提供一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,如附圖1所示,該方法的具體實現(xiàn)過程為:
一、首先加載配置文件;
二、檢查分布式協(xié)同服務(wù)中是否存在該項配置;
三、如果存在,讀取協(xié)同服務(wù)中的配置加載到應(yīng)用系統(tǒng)中;另監(jiān)聽分布式協(xié)同服務(wù)中該項配置的變化;
四、如果不存在,將本地配置上傳到協(xié)同服務(wù)并加載到應(yīng)用系統(tǒng)中;另監(jiān)聽分布式協(xié)同服務(wù)中該項配置的變化;
五、如果需要修改某項配置,通過集中管理工具修改協(xié)同服務(wù)中的配置;監(jiān)聽程序發(fā)現(xiàn)該項配置發(fā)生變化,將變化的數(shù)據(jù)直接加載到應(yīng)用系統(tǒng)中;
六、最后,在應(yīng)用系統(tǒng)中使用配置。
[0014]所述步驟一中的配置文件包括讀取本地配置文件和遠(yuǎn)程配置文件兩種:當(dāng)連接不上分布式協(xié)同服務(wù)時,使用本地配置,否則使用遠(yuǎn)程配置;當(dāng)?shù)谝淮畏植际絽f(xié)同服務(wù)中沒有應(yīng)用的數(shù)據(jù),程序啟動的時候自動上傳配置,創(chuàng)建完成后,終止上傳。
[0015]所述配置管理過程在分布式協(xié)同系統(tǒng)中進行,其中步驟五中的集中管理工具即為設(shè)置在系統(tǒng)中的ZooKeeper管理工具,該ZooKeeper的數(shù)據(jù)結(jié)構(gòu)原型為一棵znode樹(類似Linux的文件系統(tǒng)),并且它們是一些已經(jīng)被構(gòu)建好的塊,可以用來構(gòu)建大型的協(xié)作數(shù)據(jù)結(jié)構(gòu)和協(xié)議;可以運行在一組服務(wù)器上,同時它們被設(shè)計成高可用性,為你的應(yīng)用程序避免單點故障;提供的Watcher機制使得各客戶端與服務(wù)器的交互變得松耦合,每個客戶端無需知曉其他客戶端的存在,就可以和其他客戶端進行數(shù)據(jù)交互;為開發(fā)人員提供了一套豐富的API,減輕了開發(fā)人員編寫通用協(xié)議的負(fù)擔(dān)。
[0016]如附圖2所示,其工作原理是:
每個Server在內(nèi)存中存儲了一份數(shù)據(jù);
服務(wù)啟動時,將從實例中選舉一個Leader ;
Leader負(fù)責(zé)處理數(shù)據(jù)更新等操作;
一個更新操作成功,當(dāng)且僅當(dāng)大多數(shù)Server在內(nèi)存中成功修改數(shù)據(jù); 該服務(wù)為客戶端展示同一個視圖,客戶端可以從任意Server中查詢數(shù)據(jù)。
[0017]分布式集群環(huán)境下,利用分布式協(xié)同服務(wù)ZooKe印er簡單、高可用、數(shù)據(jù)一致性、松耦合、實時性等特點,解決分布式集群環(huán)境下文件配置問題,通過ZooK^per管理工具集中管理各應(yīng)用系統(tǒng)配置,并且可以保證配置修改實時生效。支持配置文件的變量化配置;可以支持讀取本地配置文件和遠(yuǎn)程配置文件兩種方式;每個集群環(huán)境一個樹的節(jié)點。
[0018]利用ZooKe印er的特點,解決Web應(yīng)用系統(tǒng)中配置文件的管理問題,并保證配置修改實時生效。
[0019]支持配置文件的變量化配置,并且支持一般屬性、公共屬性、spring中的數(shù)據(jù)庫配置、log4j日志配置文件的管理。
[0020]支持讀取本地配置文件和遠(yuǎn)程配置文件兩種方式,如果連接不上分布式協(xié)同服務(wù),就使用本地配置;如果第一次分布式協(xié)同服務(wù)中沒有應(yīng)用的數(shù)據(jù),程序啟動的時候可以自動上傳配置,創(chuàng)建完成后,就不再上傳。
[0021]每個集群環(huán)境一個樹的節(jié)點,保證配置的唯一性,集成、測試、生產(chǎn)環(huán)節(jié)不沖突。
[0022]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的一種分布式集群環(huán)境下集中配置分發(fā)管理的方法的權(quán)利要求書的且任何所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護范圍。
【權(quán)利要求】
1.一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,其特征在于其具體實現(xiàn)過程為: 一、首先加載配置文件; 二、檢查分布式協(xié)同服務(wù)中是否存在該項配置; 三、如果存在,讀取協(xié)同服務(wù)中的配置加載到應(yīng)用系統(tǒng)中;另監(jiān)聽分布式協(xié)同服務(wù)中該項配置的變化; 四、如果不存在,將本地配置上傳到協(xié)同服務(wù)并加載到應(yīng)用系統(tǒng)中;另監(jiān)聽分布式協(xié)同服務(wù)中該項配置的變化; 五、如果需要修改某項配置,通過集中管理工具修改協(xié)同服務(wù)中的配置;監(jiān)聽程序發(fā)現(xiàn)該項配置發(fā)生變化,將變化的數(shù)據(jù)直接加載到應(yīng)用系統(tǒng)中; 六、最后,在應(yīng)用系統(tǒng)中使用配置。
2.根據(jù)權(quán)利要求1所述的一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,其特征在于:所述步驟一中的配置文件包括讀取本地配置文件和遠(yuǎn)程配置文件兩種:當(dāng)連接不上分布式協(xié)同服務(wù)時,使用本地配置,否則使用遠(yuǎn)程配置;當(dāng)?shù)谝淮畏植际絽f(xié)同服務(wù)中沒有應(yīng)用的數(shù)據(jù),程序啟動的時候自動上傳配置,創(chuàng)建完成后,終止上傳。
3.根據(jù)權(quán)利要求1所述的一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,其特征在于:所述配置管理過程在分布式協(xié)同系統(tǒng)中進行,其中步驟五中的集中管理工具即為設(shè)置在系統(tǒng)中的ZooKeeper管理工具,該ZooKeeper的數(shù)據(jù)結(jié)構(gòu)原型為一棵znode樹,運行在一組服務(wù)器上,提供Watcher機制,使得各客戶端與服務(wù)器的交互變得松耦合。
4.根據(jù)權(quán)利要求3所述的一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,其特征在于:所述分布式協(xié)同系統(tǒng)中內(nèi)置若干服務(wù)器,每個服務(wù)器在內(nèi)存中存儲一份數(shù)據(jù);服務(wù)啟動時,從某個服務(wù)器的存儲數(shù)據(jù)中選舉一個Leader,該Leader負(fù)責(zé)處理所有服務(wù)器數(shù)據(jù)更新操作;當(dāng)且僅當(dāng)80%服務(wù)器在內(nèi)存中成功修改數(shù)據(jù),一個更新操作成功。
5.根據(jù)權(quán)利要求3所述的一種分布式集群環(huán)境下集中配置分發(fā)管理的方法,其特征在于:所述分布式協(xié)同系統(tǒng)支持步驟一中的配置文件的變量化配置,該變量化配置包括一般屬性、公共屬性、spring中的數(shù)據(jù)庫配置、log4j日志配置文件的管理。
【文檔編號】H04L12/24GK104202383SQ201410424693
【公開日】2014年12月10日 申請日期:2014年8月26日 優(yōu)先權(quán)日:2014年8月26日
【發(fā)明者】高傳集, 付安龍 申請人:浪潮軟件股份有限公司