基于ZooKeeper的配置中心系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-08-07 00:01
近年來(lái),伴隨互聯(lián)網(wǎng)的飛速發(fā)展,越來(lái)越多的企業(yè)開(kāi)始在互聯(lián)網(wǎng)服務(wù)器上部署應(yīng)用,一臺(tái)機(jī)器無(wú)法滿足大量并發(fā)的請(qǐng)求,因此就需要在集群服務(wù)器上部署應(yīng)用。而這些應(yīng)用服務(wù)會(huì)有相關(guān)的配置文件對(duì)其相關(guān)參數(shù)進(jìn)行設(shè)置,這些配置是應(yīng)用相當(dāng)重要的組成部分。如果采用手動(dòng)修改的方式來(lái)修改和管理這些配置是非常繁瑣的,甚至當(dāng)面對(duì)超大規(guī)模集群的時(shí)候,手動(dòng)修改會(huì)造成各個(gè)機(jī)器配置文件不統(tǒng)一,難以同步維護(hù),容易出現(xiàn)修改錯(cuò)誤的問(wèn)題,而且手動(dòng)修改的低效率還會(huì)極大的影響集群應(yīng)用的部署,給軟件開(kāi)發(fā)人員增加不必要的工作量。因此,采用一種高效的同步集群配置文件的方法來(lái)提高工作效率和減少重復(fù)勞動(dòng)有著十分重要的意義。本文首先對(duì)ZooKeeper分布式應(yīng)用程序協(xié)調(diào)服務(wù)的功能和特性進(jìn)行了研究分析。ZooKeeper是一個(gè)開(kāi)放源代碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google Chubby的開(kāi)源實(shí)現(xiàn),封裝了許多分布式一致性相關(guān)的便捷的服務(wù),并且有著消息監(jiān)聽(tīng)的機(jī)制,在分布式系統(tǒng)中有著廣泛的應(yīng)用。之后,論文設(shè)計(jì)并實(shí)現(xiàn)了一種基于ZooKeeper的配置中心系統(tǒng),該系統(tǒng)分為兩部分,分別是配置中心系統(tǒng)管理端和配置中心系統(tǒng)Java客戶端。其中,配置中心系統(tǒng)管理端使用...
【文章來(lái)源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:82 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
IConfCenter接口的定義
圖4.8 Spring 容器通過(guò) xml 加載 bean 時(shí)讀取配置文件文的配置中心系統(tǒng)客戶端也提供了 Spring 容器的支持,提供了一種在對(duì)象時(shí)對(duì)其參數(shù)使用占位符$[]就可以將參數(shù)的值動(dòng)態(tài)地定為配置中心方法。通過(guò)繼承 Spring 的 PropertyPlaceholderConfigurer 類,實(shí)現(xiàn)了自nterBasedPropertyPlaceholderConfigurer 類,該類為 Spring 容器對(duì) xml 中息的解析類,對(duì)其方法 postProcessBeanFactory()進(jìn)行覆蓋重寫,將原ies 文件的邏輯覆蓋為通過(guò) ConfCenterClient 獲取配置信息的過(guò)程,以此系統(tǒng)與 Spring 的結(jié)合,過(guò)程如圖 4.9 所示。虛線部分為 xml 文件解析時(shí)地配置文件配置信息進(jìn)行替換的過(guò)程,通過(guò)對(duì)原有類進(jìn)行擴(kuò)展,將配置入到了 Spring 容器的初始化過(guò)程中,將原有的配置信息載入過(guò)程改為eper 集群獲取的邏輯。xml文件解析
配置中心管理端的主要功能是對(duì)配置進(jìn)行管理,其中,獲取配置文件列表的功能是配置中心系統(tǒng)的基本功能。圖5.1 配置中心管理端獲取配置文件列表通過(guò)網(wǎng)頁(yè)查看界面,前端通過(guò)調(diào)用配置中心管理端提供的接口,就可以獲取配置文件的列表,管理端界面如圖 5.1 所示。通過(guò)管理端界面查看配置文件的列表和配置文件的內(nèi)容。預(yù)期結(jié)果:正常顯示配置文件列表,正常顯示配置文件的內(nèi)容。測(cè)試結(jié)果:與預(yù)期結(jié)果一致?梢哉o@示 ZooKeeper 數(shù)據(jù)目錄中的文件列表,同時(shí),打開(kāi)配置文件可以正常顯示配置文件的內(nèi)容信息。5.3.2 修改配置信息前端通過(guò)調(diào)用配置中心管理端提供的配置信息修改接口。修改配置信息的請(qǐng)求需要有開(kāi)發(fā)人員、測(cè)試人員和運(yùn)維人員的權(quán)限,通過(guò)修改 auth.properties 中 RD、QA 或OP 配置的內(nèi)容,增加成員 test_rd 對(duì)功能進(jìn)行測(cè)試。
本文編號(hào):3326740
【文章來(lái)源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:82 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
IConfCenter接口的定義
圖4.8 Spring 容器通過(guò) xml 加載 bean 時(shí)讀取配置文件文的配置中心系統(tǒng)客戶端也提供了 Spring 容器的支持,提供了一種在對(duì)象時(shí)對(duì)其參數(shù)使用占位符$[]就可以將參數(shù)的值動(dòng)態(tài)地定為配置中心方法。通過(guò)繼承 Spring 的 PropertyPlaceholderConfigurer 類,實(shí)現(xiàn)了自nterBasedPropertyPlaceholderConfigurer 類,該類為 Spring 容器對(duì) xml 中息的解析類,對(duì)其方法 postProcessBeanFactory()進(jìn)行覆蓋重寫,將原ies 文件的邏輯覆蓋為通過(guò) ConfCenterClient 獲取配置信息的過(guò)程,以此系統(tǒng)與 Spring 的結(jié)合,過(guò)程如圖 4.9 所示。虛線部分為 xml 文件解析時(shí)地配置文件配置信息進(jìn)行替換的過(guò)程,通過(guò)對(duì)原有類進(jìn)行擴(kuò)展,將配置入到了 Spring 容器的初始化過(guò)程中,將原有的配置信息載入過(guò)程改為eper 集群獲取的邏輯。xml文件解析
配置中心管理端的主要功能是對(duì)配置進(jìn)行管理,其中,獲取配置文件列表的功能是配置中心系統(tǒng)的基本功能。圖5.1 配置中心管理端獲取配置文件列表通過(guò)網(wǎng)頁(yè)查看界面,前端通過(guò)調(diào)用配置中心管理端提供的接口,就可以獲取配置文件的列表,管理端界面如圖 5.1 所示。通過(guò)管理端界面查看配置文件的列表和配置文件的內(nèi)容。預(yù)期結(jié)果:正常顯示配置文件列表,正常顯示配置文件的內(nèi)容。測(cè)試結(jié)果:與預(yù)期結(jié)果一致?梢哉o@示 ZooKeeper 數(shù)據(jù)目錄中的文件列表,同時(shí),打開(kāi)配置文件可以正常顯示配置文件的內(nèi)容信息。5.3.2 修改配置信息前端通過(guò)調(diào)用配置中心管理端提供的配置信息修改接口。修改配置信息的請(qǐng)求需要有開(kāi)發(fā)人員、測(cè)試人員和運(yùn)維人員的權(quán)限,通過(guò)修改 auth.properties 中 RD、QA 或OP 配置的內(nèi)容,增加成員 test_rd 對(duì)功能進(jìn)行測(cè)試。
本文編號(hào):3326740
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3326740.html
最近更新
教材專著