亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種提高大型分布式系統(tǒng)配置效率的方法與流程

文檔序號:12889919閱讀:758來源:國知局
一種提高大型分布式系統(tǒng)配置效率的方法與流程

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其是涉及一種提高大型分布式系統(tǒng)配置效率的方法。



背景技術(shù):

隨著社會的發(fā)展,互聯(lián)網(wǎng)用戶快速增長帶動了互聯(lián)網(wǎng)經(jīng)濟(jì)的蓬勃發(fā)展,移動互聯(lián)網(wǎng)、電子商務(wù)、網(wǎng)絡(luò)視頻、品牌網(wǎng)絡(luò)廣告、網(wǎng)上招聘、網(wǎng)絡(luò)游戲等在極短的時(shí)間得到快速發(fā)展并積累了眾多用戶,成為了人們生活中不可或缺的一部分。

讓人們越來越關(guān)注互聯(lián)網(wǎng)技術(shù)的更新,如何更好更快更方便的共享互聯(lián)網(wǎng)資源,成為人們共同的焦點(diǎn)。

在建設(shè)大型分布式系統(tǒng)時(shí),大量節(jié)點(diǎn)分布在不同區(qū)域的若干idc機(jī)房,系統(tǒng)分別部署在這些idc機(jī)房的節(jié)點(diǎn)上。當(dāng)需要修改系統(tǒng)某個配置時(shí),需要向全網(wǎng)成百上千的idc節(jié)點(diǎn)分發(fā)該配置,因此在大型分布式系統(tǒng)的參數(shù)配置具有工作量大,工作繁瑣的特點(diǎn)。

該場景主要面臨如下幾個問題:

1.如何方便地收斂同步所有節(jié)點(diǎn)的配置。在不同的節(jié)點(diǎn),有可能存在系統(tǒng)的配置版本不一致的問題,要在成百上千的節(jié)點(diǎn)中將系統(tǒng)的配置信息進(jìn)行歸納整理是一項(xiàng)非常復(fù)雜的工作,需要付出大量的人力成本和時(shí)間成本。

2.如何保證所有節(jié)點(diǎn)配置的一致性。成百上千節(jié)點(diǎn)的配置修改工作,其工作量非常巨大,稍有不慎就可能導(dǎo)致配置不正確,因此配置修改的一致性很難得到保障。

3.如何處理跨區(qū)域的網(wǎng)絡(luò)問題,可能存在部分節(jié)點(diǎn)網(wǎng)絡(luò)不可達(dá)的問題,這樣可能導(dǎo)致配置修改的操作無法完成;

4.如果保證配置的時(shí)效性,成百上千個節(jié)點(diǎn)的配置更新操作,是一項(xiàng)耗時(shí)的工作,這樣就很難保證配置修改的時(shí)效性。

目前通常的做法是由系統(tǒng)管理員登錄到不同節(jié)點(diǎn)的系統(tǒng)中,分別進(jìn)行系統(tǒng)配置的修改,將系統(tǒng)配置一套一套地進(jìn)行修改,這樣不僅耗時(shí)耗力,而且很容易出錯,配置的一致性也很難得到保障。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于提供一種提高大型分布式系統(tǒng)配置效率的方法,以解決上述背景技術(shù)中提出的問題和缺陷,形成一個統(tǒng)一的配置中心,配置信息通過版本機(jī)制管理,方便回溯和回滾。

為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:

一種提高大型分布式系統(tǒng)配置效率的方法,設(shè)有一個統(tǒng)一的配置中心,配置中心通過協(xié)議把集群中的idc節(jié)點(diǎn)分為三種狀態(tài),通過多個副本來保證配置信息的高可用和冗余備份;

當(dāng)需要全網(wǎng)或灰度更新配置時(shí),由控制端向該配置中心發(fā)起更新指令,由配置中心將此次更新的配置下發(fā)至其他idc節(jié)點(diǎn)。

在上述技術(shù)方案中,配置中心把集群中的idc節(jié)點(diǎn)分為三種狀態(tài),具體是指領(lǐng)導(dǎo)者、追隨者、候選者,其中:領(lǐng)導(dǎo)者負(fù)責(zé)日志的同步管理,處理來自客戶端的請求,與追隨者通過心跳線保持聯(lián)系;追隨者負(fù)責(zé)響應(yīng)領(lǐng)導(dǎo)者的日志同步請求,把從候選者到追隨者的請求事務(wù)轉(zhuǎn)發(fā)給領(lǐng)導(dǎo)者;候選者負(fù)責(zé)選舉投票。

在上述技術(shù)方案中,一個idc節(jié)點(diǎn)中部署有多臺服務(wù)器,多臺服務(wù)器構(gòu)成一個idc節(jié)點(diǎn)。

在上述技術(shù)方案中,配置中心的配置信息為類似于文本文件的信息,配置中心將這些信息備份成另外一份或者多份,即為多個副本。

在上述技術(shù)方案中,當(dāng)協(xié)議運(yùn)行提供服務(wù)的時(shí)候只存在領(lǐng)導(dǎo)者與候選者兩種狀態(tài);

剛啟動時(shí)所有idc節(jié)點(diǎn)均為追隨者狀態(tài),啟動時(shí)由一個節(jié)點(diǎn)從追隨者轉(zhuǎn)為候選者發(fā)起選舉,配置中心通過協(xié)議選舉一個領(lǐng)導(dǎo)者,然后給予他全部的管理復(fù)制日志的責(zé)任來實(shí)現(xiàn)一致性,領(lǐng)導(dǎo)者從客戶端接收日志條目,把日志條目復(fù)制到其他服務(wù)器上,并且當(dāng)保證安全性的時(shí)候告訴其他的服務(wù)器應(yīng)用日志條目到他們的狀態(tài)機(jī)中。

作為上述技術(shù)方案的優(yōu)選,配置信息通過版本機(jī)制進(jìn)行管理,用于方便回溯和回滾。

作為上述技術(shù)方案的優(yōu)選,配置中心借助開源組件consul、通過gossip協(xié)議,將配置指標(biāo)從配置中心同步到外圍idc節(jié)點(diǎn),該協(xié)議保證配置在各idc節(jié)點(diǎn)之間的最終一致性,同步時(shí)通過重試機(jī)制以適應(yīng)跨區(qū)域網(wǎng)絡(luò)的抖動異常。

作為上述技術(shù)方案的優(yōu)選,在配置中心同步配置信息時(shí),會啟動gossip服務(wù),gossip服務(wù)啟動后會啟動一個任務(wù)gossiptask,這個任務(wù)會周期性地與其他idc節(jié)點(diǎn)進(jìn)行通信。

作為上述技術(shù)方案的進(jìn)一步說明,idc節(jié)點(diǎn)接收到配置中心的配置信息之后,將該配置信息進(jìn)一步分發(fā)至本idc內(nèi)部的各系統(tǒng)組件,具體實(shí)現(xiàn)過程如下:

q1在idc節(jié)點(diǎn)安裝單獨(dú)的程序(以下簡稱節(jié)點(diǎn)程序)用于接收配置信息;

q2程序在接收到配置信息后,依次調(diào)用本idc節(jié)點(diǎn)內(nèi)所有設(shè)備的api接口,通過api接口分發(fā)到idc節(jié)點(diǎn)內(nèi)部各系統(tǒng)組件,實(shí)現(xiàn)配置信息的更新。

作為上述技術(shù)方案的優(yōu)選,idc節(jié)點(diǎn)程序從配置中心接收、同步完配置之后,通知配置中心本idc節(jié)點(diǎn)已同步完成,配置中心感知到全網(wǎng)所有節(jié)點(diǎn)的配置狀態(tài),并記錄idc節(jié)點(diǎn)內(nèi)每臺設(shè)備的版本信息,對于沒有上報(bào)同步結(jié)果的idc節(jié)點(diǎn),配置中心將進(jìn)行重試,重試次數(shù)及頻率由人工設(shè)置或根據(jù)需要做相應(yīng)的調(diào)整;當(dāng)達(dá)到重試次數(shù)以后仍不能接收到idc節(jié)點(diǎn)上報(bào)的同步成功的信息,將由人工進(jìn)行更新,以上操作以適應(yīng)某idc節(jié)點(diǎn)故障的場景。

在上述技術(shù)方案中,配置中心感知到全網(wǎng)所有節(jié)點(diǎn)的配置狀態(tài),具體為,idc節(jié)點(diǎn)在配置同步完成以后,會返回給配置中心一條信息,這條信息告訴配置中心該idc節(jié)點(diǎn)的配置同步工作已經(jīng)完成,配置中心接收到該信息以后由此感知該節(jié)點(diǎn)的配置狀態(tài)。

作為上述技術(shù)方案的優(yōu)選,每個節(jié)點(diǎn)向配置中心訂閱自身需要的配置項(xiàng),當(dāng)節(jié)點(diǎn)發(fā)現(xiàn)本節(jié)點(diǎn)內(nèi)的系統(tǒng)版本信息為最新時(shí),則向配置中心進(jìn)行反饋,配置中心接收到反饋以后則不再向該節(jié)點(diǎn)發(fā)起更新操作,以減少無用信息的傳輸。

本發(fā)明的優(yōu)點(diǎn):

本發(fā)明實(shí)施例提供的一種提高大型分布式系統(tǒng)配置效率的方法,采用領(lǐng)導(dǎo)人機(jī)制,大大簡化了對復(fù)制日志的管理。例如,領(lǐng)導(dǎo)者可以決定新的日志條目需要放在日志中的什么位置而不需要和其他服務(wù)器商議,并且數(shù)據(jù)都從領(lǐng)導(dǎo)者流向其他服務(wù)器。一個領(lǐng)導(dǎo)者可以宕機(jī),可以和其他服務(wù)器失去連接,這時(shí)一個新的領(lǐng)導(dǎo)人會被選舉出來。

不僅結(jié)省了人力開支;而且周期可以根據(jù)系統(tǒng)的需要自行定義,對于規(guī)則的調(diào)整具有很強(qiáng)的靈活性和時(shí)效性。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例1的一種提高大型分布式系統(tǒng)配置效率的方法的結(jié)構(gòu)示意圖。

圖2為本發(fā)明實(shí)施例2的一種提高大型分布式系統(tǒng)配置效率的方法的結(jié)構(gòu)示意圖。

圖3為本發(fā)明實(shí)施例3的一種提高大型分布式系統(tǒng)配置效率的方法的idc節(jié)點(diǎn)接收到配置中心的配置信息之后,進(jìn)一步分發(fā)至本idc內(nèi)部的示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例1

如圖1所示,我們剛啟動時(shí)所有節(jié)點(diǎn)為追隨者狀態(tài),此實(shí)施例中我們采用raft協(xié)議,協(xié)議啟動時(shí),節(jié)點(diǎn)從追隨者狀態(tài)轉(zhuǎn)為候選者狀態(tài),負(fù)責(zé)選舉投票,選舉出領(lǐng)導(dǎo)者的節(jié)點(diǎn),該節(jié)點(diǎn)即轉(zhuǎn)為領(lǐng)導(dǎo)者狀態(tài),其余的節(jié)點(diǎn)從追隨者狀態(tài)轉(zhuǎn)為候選者。

配置中心通過raft協(xié)議選舉一個領(lǐng)導(dǎo)者,然后給予他全部的管理復(fù)制日志的責(zé)任來實(shí)現(xiàn)一致性,領(lǐng)導(dǎo)者從客戶端接收日志條目,把日志條目復(fù)制到其他服務(wù)器上,并且當(dāng)保證安全性的時(shí)候告訴其他的服務(wù)器應(yīng)用日志條目到他們的狀態(tài)機(jī)中。

實(shí)施例2

如圖2所示,在配置中心同步配置信息時(shí),會啟動gossip服務(wù),gossip服務(wù)啟動后會啟動一個任務(wù)gossiptask,這個任務(wù)會周期性地與其他節(jié)點(diǎn)進(jìn)行通信。

gossip:gossip算法,gossip是一個最終一致性算法;

digest:摘要;

synmessage:是tcp/ip建立連接時(shí)使用的握手信號;

ackmessage、ack2message均為應(yīng)答信號。

通信的過程是從節(jié)點(diǎn)a發(fā)送一個數(shù)據(jù)包即握手信號給節(jié)點(diǎn)b,如果節(jié)點(diǎn)b正常,則會向節(jié)點(diǎn)a返回表明節(jié)點(diǎn)b正常的數(shù)據(jù)包即應(yīng)答信號,節(jié)點(diǎn)a接收到這個數(shù)據(jù)包即應(yīng)答信號以后就可以得知節(jié)點(diǎn)b正常。

1.consul是一個服務(wù)管理軟件,具有如下幾個特點(diǎn):

(1)使用raft算法來保證一致性,raft協(xié)議的特點(diǎn)前面已有描述。

(2)支持多數(shù)據(jù)中心,內(nèi)外網(wǎng)的服務(wù)采用不同的端口進(jìn)行監(jiān)聽,這樣可以避免單點(diǎn)故障。

(3)支持健康檢查,及時(shí)發(fā)現(xiàn)出現(xiàn)異常的節(jié)點(diǎn)。

2.gossip協(xié)議

是一種被用在分布式的非強(qiáng)一致性系統(tǒng)中用來同步各節(jié)點(diǎn)狀態(tài)的方法,它是一個最終一致性算法。通過gossip協(xié)議,它們可以知道分布式系統(tǒng)中有哪些節(jié)點(diǎn),以及這些節(jié)點(diǎn)的狀態(tài)如何。每一條gossip消息上都有一個版本號,節(jié)點(diǎn)可以對接收到的消息進(jìn)行版本比對,從而得知哪些消息是我需要更新的,哪些消息是我有而別人沒有的,然后互相傾訴吐槽,確保二者得到的信息相同,這很像現(xiàn)實(shí)生活中的八卦(擺龍門陣)一樣,一傳十,十傳百,最后盡人皆知。

實(shí)施例3

在圖3中,我們展示了idc節(jié)點(diǎn)接收到配置中心的配置信息之后,將該配置信息進(jìn)一步分發(fā)至本idc內(nèi)部的各系統(tǒng)組件,具體實(shí)現(xiàn)過程如下:

1.在idc安裝單獨(dú)的程序(以下簡稱節(jié)點(diǎn)程序)用于接收配置信息;

2.程序在接收到配置信息后,依次調(diào)用本節(jié)點(diǎn)(節(jié)點(diǎn)a、b、c等等)內(nèi)所有設(shè)備(即為節(jié)點(diǎn)內(nèi)的服務(wù)器)的api接口,通過api接口分發(fā)到idc內(nèi)部各系統(tǒng)組件(系統(tǒng)組件1、2、3等等),實(shí)現(xiàn)配置信息的更新。

每個節(jié)點(diǎn)向配置中心訂閱自身需要的配置項(xiàng),當(dāng)節(jié)點(diǎn)發(fā)現(xiàn)本節(jié)點(diǎn)內(nèi)的系統(tǒng)版本信息為最新時(shí),則向配置中心進(jìn)行反饋,配置中心接收到反饋以后則不再向該節(jié)點(diǎn)發(fā)起更新操作,這樣以減少無用信息的傳輸。

以上所述僅為本發(fā)明的較佳實(shí)施方式作了詳細(xì)說明,但是本發(fā)明并不限于上述實(shí)施方式,保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi),本發(fā)明實(shí)施例還可以在不脫離本專利宗旨的前提下做出各種變化。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1