面向海量微服務(wù)的高可用服務(wù)注冊中心的研究與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-10-21 15:53
隨著移動互聯(lián)網(wǎng)的快速普及和覆蓋率迅速提高,傳統(tǒng)的單體軟件架構(gòu)已經(jīng)難以滿足互聯(lián)網(wǎng)公司的快速擴(kuò)張,越來越多的互聯(lián)網(wǎng)公司采用了微服務(wù)架構(gòu)。不斷擴(kuò)張的業(yè)務(wù)讓公司的微服務(wù)數(shù)量急劇增加。然而,目前主流的開源服務(wù)注冊中心面對海量微服務(wù)并不是十分適用,如ZooKeeper確保了集群的強(qiáng)一致性而犧牲了一定的可用性,Eureka在面對海量微服務(wù)時(shí)甚至?xí)绊懙椒⻊?wù)消費(fèi)者。因此,如何設(shè)計(jì)實(shí)現(xiàn)一個(gè)面向海量微服務(wù)的高可用的服務(wù)注冊中心具有一定的研究價(jià)值和現(xiàn)實(shí)意義。本文基于海量微服務(wù)的應(yīng)用場景,首先介紹了服務(wù)注冊中心的基本特點(diǎn),并且研究分析了其對于高可用性和強(qiáng)一致性的取舍。然后,本文在Eureka的基礎(chǔ)上進(jìn)行改進(jìn),提出了一個(gè)面向海量微服務(wù)的高可用服務(wù)注冊中心HASR(High Availability Service Registry for Massive Microservices)。HASR通過分片技術(shù)解決了服務(wù)注冊中心面向海量微服務(wù)時(shí)遇到的單機(jī)性能瓶頸,并且增加地址管理端以便服務(wù)注冊中心可以動態(tài)擴(kuò)縮容。HASR通過服務(wù)端節(jié)點(diǎn)分層解決了擴(kuò)容后性能提升不明顯的問題。服務(wù)端分為存儲層和緩存層,寫請求只在存儲層各節(jié)點(diǎn)間轉(zhuǎn)發(fā)。HASR修改了客戶端獲取服務(wù)地址的方式,減少客戶端不必要的內(nèi)存開銷。HASR用長輪詢實(shí)現(xiàn)了更新推送,提高了服務(wù)更新的及時(shí)性。為了提高HASR的可用性和性能,本文對HASR進(jìn)行了三點(diǎn)優(yōu)化。第一,為防止服務(wù)注冊中心不可用而影響到現(xiàn)有服務(wù)間的調(diào)用,本文在HASR客戶端引入了磁盤存儲功能。第二,為了減少頻繁開關(guān)連接帶來的不必要消耗,本文采用長連接的方式優(yōu)化了服務(wù)節(jié)點(diǎn)間通信方式。第三,本文提出了一種改進(jìn)的負(fù)載均衡算法LB-HASR,LB-HASR選取響應(yīng)時(shí)間和負(fù)載率作為關(guān)鍵指標(biāo),在主流的多機(jī)房異構(gòu)節(jié)點(diǎn)的部署場景中能取得更好的負(fù)載效果。最后,本文對HASR進(jìn)行了可用性、性能、擴(kuò)展性和負(fù)載均衡四個(gè)方面的測試和分析。測試結(jié)果表明,在海量微服務(wù)的場景下,HASR比當(dāng)前主流的高可用服務(wù)注冊中心Eureka具有更高的可用性、更好的性能和擴(kuò)展性,而且在多機(jī)房異構(gòu)集群中,LB-HASR比Eureka常用的負(fù)載均衡算法BAR(Best Available Rule)和WRTR(Weighted Response Time Rule)的負(fù)載效果更好。
【學(xué)位單位】:華南理工大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2019
【中圖分類】:F274;TP393.09
【部分圖文】:
采用 5 臺服務(wù)器構(gòu)成服務(wù)注冊中心集群,由于 HASR 服務(wù)端需要分務(wù)器,其中 2 個(gè)存儲層節(jié)點(diǎn),3 個(gè)緩存層節(jié)點(diǎn),每個(gè)代理節(jié)點(diǎn)管理測試的所有節(jié)點(diǎn)均為東京節(jié)點(diǎn)。每臺服務(wù)器配置如表 5-1。本實(shí)驗(yàn)致性服務(wù)注冊中心 ZooKeeper 進(jìn)行對比。表 5-1 服務(wù)器配置具體配置CPU 單核 1G Hz內(nèi)存 1024MB磁盤 25G SSD操作系統(tǒng) CentOS6 x64ZooKeeper R3.4.9,分別在 ZooKeeper 和 HASR 注冊一個(gè)簡單的 Hello 服務(wù),具體代碼
ZooKeeper注冊報(bào)錯(cuò)
圖 5-4 內(nèi)存使用率變化圖5.3.3 服務(wù)注冊中心不可用本節(jié)測試服務(wù)注冊中心不可用時(shí),已有的服務(wù)之間的調(diào)用是否會受到影響。本次實(shí)驗(yàn)采用 5.3.1 中的服務(wù)器配置和部署結(jié)構(gòu)。本次測試通過關(guān)閉整個(gè)服務(wù)注冊中心,分別測試 HASR 和 Eureka 的可用性。首先,分別在 HASR 和 Eureka 上注冊 Hello 服務(wù),讓兩邊的消費(fèi)者每 5 秒鐘循環(huán)調(diào)用 Hello 服務(wù)。一段時(shí)間后,將整個(gè)服務(wù)注冊中心關(guān)閉,這時(shí)兩邊的消費(fèi)者仍然能夠正常調(diào)用 Hello 服務(wù),這是因?yàn)閮蛇叾即嬖诒镜鼐彺妗4藭r(shí),重新部署兩邊的消費(fèi)者,發(fā)現(xiàn) Eureka 的消費(fèi)者無法正常調(diào)用 Hello 服務(wù),報(bào)錯(cuò)如圖 5-5,表示無法連接到服務(wù)注冊中心,而 HASR 的消費(fèi)者依舊能正常運(yùn)行。0101 0 0 0 4 0 0 0 8 0 0 0 1 2 0 0 0 1 6 0 0 0服務(wù)數(shù)量(個(gè))
【參考文獻(xiàn)】
本文編號:2850320
【學(xué)位單位】:華南理工大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2019
【中圖分類】:F274;TP393.09
【部分圖文】:
采用 5 臺服務(wù)器構(gòu)成服務(wù)注冊中心集群,由于 HASR 服務(wù)端需要分務(wù)器,其中 2 個(gè)存儲層節(jié)點(diǎn),3 個(gè)緩存層節(jié)點(diǎn),每個(gè)代理節(jié)點(diǎn)管理測試的所有節(jié)點(diǎn)均為東京節(jié)點(diǎn)。每臺服務(wù)器配置如表 5-1。本實(shí)驗(yàn)致性服務(wù)注冊中心 ZooKeeper 進(jìn)行對比。表 5-1 服務(wù)器配置具體配置CPU 單核 1G Hz內(nèi)存 1024MB磁盤 25G SSD操作系統(tǒng) CentOS6 x64ZooKeeper R3.4.9,分別在 ZooKeeper 和 HASR 注冊一個(gè)簡單的 Hello 服務(wù),具體代碼
ZooKeeper注冊報(bào)錯(cuò)
圖 5-4 內(nèi)存使用率變化圖5.3.3 服務(wù)注冊中心不可用本節(jié)測試服務(wù)注冊中心不可用時(shí),已有的服務(wù)之間的調(diào)用是否會受到影響。本次實(shí)驗(yàn)采用 5.3.1 中的服務(wù)器配置和部署結(jié)構(gòu)。本次測試通過關(guān)閉整個(gè)服務(wù)注冊中心,分別測試 HASR 和 Eureka 的可用性。首先,分別在 HASR 和 Eureka 上注冊 Hello 服務(wù),讓兩邊的消費(fèi)者每 5 秒鐘循環(huán)調(diào)用 Hello 服務(wù)。一段時(shí)間后,將整個(gè)服務(wù)注冊中心關(guān)閉,這時(shí)兩邊的消費(fèi)者仍然能夠正常調(diào)用 Hello 服務(wù),這是因?yàn)閮蛇叾即嬖诒镜鼐彺妗4藭r(shí),重新部署兩邊的消費(fèi)者,發(fā)現(xiàn) Eureka 的消費(fèi)者無法正常調(diào)用 Hello 服務(wù),報(bào)錯(cuò)如圖 5-5,表示無法連接到服務(wù)注冊中心,而 HASR 的消費(fèi)者依舊能正常運(yùn)行。0101 0 0 0 4 0 0 0 8 0 0 0 1 2 0 0 0 1 6 0 0 0服務(wù)數(shù)量(個(gè))
【參考文獻(xiàn)】
相關(guān)期刊論文 前2條
1 巴子言;吳軍;馬嚴(yán);;基于虛節(jié)點(diǎn)的一致性哈希算法的優(yōu)化[J];軟件;2014年12期
2 謝彬;崔凱;;數(shù)據(jù)異地容災(zāi)的實(shí)現(xiàn)[J];網(wǎng)絡(luò)安全技術(shù)與應(yīng)用;2014年02期
相關(guān)碩士學(xué)位論文 前1條
1 何榮祥;面向移動用戶的高可用服務(wù)器架構(gòu)設(shè)計(jì)[D];哈爾濱工業(yè)大學(xué);2017年
本文編號:2850320
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/2850320.html
最近更新
教材專著