亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種微服務(wù)注冊方法及系統(tǒng)的制作方法

文檔序號:9754230閱讀:322來源:國知局
一種微服務(wù)注冊方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及微服務(wù)注冊技術(shù)領(lǐng)域,更具體地說,涉及一種微服務(wù)注冊方法及系統(tǒng)。
【背景技術(shù)】
[0002]“大平臺+微應(yīng)用”的軟件架構(gòu)模式,通過將“大系統(tǒng)”拆解為眾多“微服務(wù)”,分布式部署在多節(jié)點(diǎn)的集群上,實(shí)現(xiàn)了簡化管理。目前業(yè)界多采用中心化的分布式服務(wù)架構(gòu),服務(wù)提供者將微服務(wù)注冊到注冊中心服務(wù)器,服務(wù)消費(fèi)者從注冊中心服務(wù)器取得微服務(wù)列表,一旦注冊中心服務(wù)器出現(xiàn)問題,服務(wù)注冊和發(fā)現(xiàn)無法生效,整個系統(tǒng)就會癱瘓;而且所有微服務(wù)向一個注冊中心服務(wù)器進(jìn)行遠(yuǎn)程注冊,當(dāng)微服務(wù)數(shù)量過大時,會消耗大量的網(wǎng)絡(luò)資源并帶給注冊中心服務(wù)器很大的壓力。
[0003]因此,如何避免當(dāng)注冊中心服務(wù)器出現(xiàn)問題而導(dǎo)致系統(tǒng)癱瘓,是現(xiàn)在需要解決的問題。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于提供一種微服務(wù)注冊方法及系統(tǒng),以避免當(dāng)注冊中心服務(wù)器出現(xiàn)問題而導(dǎo)致系統(tǒng)癱瘓。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
[0006]—種微服務(wù)注冊方法,在集群中的每個節(jié)點(diǎn)上啟動一個注冊中心,包括:
[0007]注冊中心接收與所述注冊中心相對應(yīng)的本地的微服務(wù)所發(fā)送的注冊請求信息;其中,所述注冊請求信息攜帶的注冊信息包括:微服務(wù)訪問地址信息、服務(wù)提供信息和服務(wù)消費(fèi)信息;
[0008]所述注冊中心將所述注冊信息添加到所述注冊中心的哈希表中;
[0009]所述注冊中心將本地的哈希表中的所有微服務(wù)的注冊信息,同步到集群中除本注冊中心之外的其他注冊中心。
[0010]優(yōu)選的,所述注冊中心將本地的哈希表中的所有微服務(wù)的注冊信息,同步到集群中除本注冊中心之外的其他注冊中心之后,包括:
[0011 ]所述注冊中心接收所述微服務(wù)所發(fā)送的發(fā)現(xiàn)請求信息;
[0012]所述注冊中心將本地的哈希表中的所有微服務(wù)的注冊信息拼裝成數(shù)組,并計(jì)算所有微服務(wù)注冊信息的第一 MD5校驗(yàn)碼,將所述數(shù)組和所述第一 MD5校驗(yàn)碼發(fā)送至所述微服務(wù);
[0013]所述微服務(wù)接收所述數(shù)組和所述第一MD5校驗(yàn)碼后,將所述數(shù)組保存至服務(wù)提供者列表,將所述第一 MD5校驗(yàn)碼保存至微服務(wù)容器。
[0014]優(yōu)選的,所述微服務(wù)接收所述數(shù)組和所述第一MD5校驗(yàn)碼后,將所述數(shù)組保存至服務(wù)提供者列表,將所述第一 MD5校驗(yàn)碼保存至微服務(wù)容器之后,包括:
[0015]所述注冊中心接收所述微服務(wù)所發(fā)送的刷新請求信息;其中,所述刷新請求信息的URL中包含所述微服務(wù)本身的訪問地址;
[0016]所述注冊中心判斷所述發(fā)現(xiàn)請求信息攜帶的微服務(wù)訪問地址是否存在;
[0017]若是,則所述注冊中心計(jì)算本地哈希表中的所有微服務(wù)注冊信息的第二MD5校驗(yàn)碼,并將所述第二MD5校驗(yàn)碼與存活狀態(tài)信息共同發(fā)送至所述微服務(wù);若否,則所述注冊中心將掉線狀態(tài)信息發(fā)送至所述微服務(wù);
[0018]其中,所述微服務(wù)接收到所述掉線狀態(tài)信息后,重新向所述注冊中心發(fā)送注冊請求信息,直至所述注冊中心向所述微服務(wù)發(fā)送存活狀態(tài)信息和第二 MD5校驗(yàn)碼;
[0019]所述微服務(wù)接收到第二MD5校驗(yàn)碼后,將所述第二 MD5校驗(yàn)碼與所述微服務(wù)容器中保存的所述第一 MD5校驗(yàn)碼進(jìn)行比對;若不一致,則重新向所述注冊中心發(fā)送發(fā)現(xiàn)請求信息。
[0020]優(yōu)選的,微服務(wù)與微服務(wù)之間的調(diào)用是通過RPC實(shí)現(xiàn)。
[0021]優(yōu)選的,所述注冊中心通過Gossip協(xié)議與集群中除本注冊中心之外的其他注冊中心進(jìn)行周期性通信,將所述注冊中心中的變更注冊信息進(jìn)行同步變更。
[0022]—種微服務(wù)注冊系統(tǒng),在集群中的每個節(jié)點(diǎn)上啟動一個注冊中心,包括:
[0023]微服務(wù)和注冊中心;
[0024]其中,所述注冊中心包括:
[0025]第一接收模塊,用于接收與所述注冊中心相對應(yīng)的本地的微服務(wù)所發(fā)送的注冊請求信息;其中,所述注冊請求信息攜帶的注冊信息包括:微服務(wù)訪問地址信息、服務(wù)提供信息和服務(wù)消費(fèi)信息;
[0026]添加模塊,用于將所述注冊信息添加到所述注冊中心的哈希表中;
[0027]同步模塊,用于將本地的哈希表中的所有微服務(wù)的注冊信息,同步到集群中除本注冊中心之外的其他注冊中心;
[0028]所述微服務(wù)包括服務(wù)注冊模塊,用于向所述注冊中心發(fā)送注冊請求信息。
[0029]優(yōu)選的,所述注冊中心包括:
[0030]第二接收模塊,用于接收所述微服務(wù)所發(fā)送的發(fā)現(xiàn)請求信息;
[0031]拼裝模塊,用于將本地的哈希表中的所有微服務(wù)的注冊信息拼裝成數(shù)組;
[0032]計(jì)算模塊,用于計(jì)算所有微服務(wù)注冊信息的第一MD5校驗(yàn)碼;
[0033]第一發(fā)送模塊,用于將所述數(shù)組和所述第一MD5校驗(yàn)碼發(fā)送至所述微服務(wù);
[0034]所述微服務(wù)包括:
[0035]服務(wù)發(fā)現(xiàn)模塊,用于向所述注冊中心發(fā)送發(fā)現(xiàn)請求信息;
[0036]微服務(wù)第一接收模塊,用于接收所述數(shù)組和所述第一MD5校驗(yàn)碼;
[0037]第一保存模塊,用于將所述數(shù)組保存至服務(wù)提供者列表;
[0038]第二保存模塊,用于將所述第一MD5校驗(yàn)碼保存至微服務(wù)容器。
[0039]優(yōu)選的,所述注冊中心包括:
[0040]第三接收模塊,用于接收所述微服務(wù)所發(fā)送的刷新請求信息;其中,所述刷新請求信息的URL中包含所述微服務(wù)本身的訪問地址;
[0041]判斷模塊,用于判斷所述發(fā)現(xiàn)請求信息攜帶的微服務(wù)訪問地址是否存在;
[0042]若是,則觸發(fā)存活狀態(tài)發(fā)送模塊和校驗(yàn)碼發(fā)送模塊;若否,則觸發(fā)掉線狀態(tài)發(fā)送模塊;
[0043]所述存活狀態(tài)發(fā)送模塊,用于向所述微服務(wù)發(fā)送存活狀態(tài)信息;
[0044]所述掉線狀態(tài)發(fā)送模塊,用于向所述微服務(wù)發(fā)送掉線狀態(tài)信息;其中,當(dāng)所述微服務(wù)接收到所述掉線狀態(tài)信息后,會觸發(fā)所述服務(wù)注冊模塊向所述注冊中心發(fā)送注冊請求信息;
[0045]所述驗(yàn)證碼發(fā)送模塊,用于計(jì)算本地哈希表中的所有微服務(wù)注冊信息的第二MD5校驗(yàn)碼,并將所述第二 MD5校驗(yàn)碼發(fā)送至所述微服務(wù);
[0046]所述微服務(wù)包括:
[0047]比對模塊,用于將所述第二MD5校驗(yàn)碼與微服務(wù)容器中保存的第一 MD5校驗(yàn)碼進(jìn)行比對;若不一致,則觸發(fā)所述服務(wù)發(fā)現(xiàn)模塊。
[0048]優(yōu)選的,微服務(wù)與微服務(wù)之間的調(diào)用是通過RPC實(shí)現(xiàn)。
[0049]優(yōu)選的,所述注冊中心通過Gossip協(xié)議與集群中除本注冊中心之外的其他注冊中心進(jìn)行周期性通信,將所述注冊中心中的變更注冊信息進(jìn)行同步變更。
[0050]通過以上方案可知,本發(fā)明實(shí)施例提供的一種微服務(wù)注冊方法及系統(tǒng),在集群中的每個節(jié)點(diǎn)上啟動一個注冊中心,包括:注冊中心接收與所述注冊中心相對應(yīng)的本地的微服務(wù)所發(fā)送的注冊請求信息;其中,所述注冊請求信息攜帶的注冊信息包括:微服務(wù)訪問地址信息、服務(wù)提供信息和服務(wù)消費(fèi)信息;所述注冊中心將所述注冊信息添加到所述注冊中心的哈希表中;所述注冊中心將本地的哈希表中的所有微服務(wù)的注冊信息,同步到集群中除本注冊中心之外的其他注冊中心,本實(shí)施例提供的這種在集群中的每個節(jié)點(diǎn)上啟動一個注冊中心的方式,無需維護(hù)一個高可用的注冊中心,并且其中一個注冊中心宕機(jī),也不會影響集群中的其它注冊中心,有效避免了只有一個注冊中心的宕機(jī)而導(dǎo)致系統(tǒng)癱瘓的風(fēng)險。同時這種本地化的微服務(wù)注冊和發(fā)現(xiàn)功能,微服務(wù)只需要向本地的注冊中心進(jìn)行注冊,集群中不同注冊中心之間同步注冊信息,同步過程無需應(yīng)答,有效減少了網(wǎng)絡(luò)資源的消耗。
【附圖說明】
[0051]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0052]圖1為本發(fā)明實(shí)施例公開的一種微服務(wù)注冊方法流程示意圖;
[0053]圖2為本發(fā)明實(shí)施例公開的一種微服務(wù)注冊系統(tǒng)結(jié)構(gòu)示意圖;
[0054]圖3為本發(fā)明實(shí)施例公開的另一種微服務(wù)注冊系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0055]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0056]本發(fā)明實(shí)施例公開了一種微服務(wù)注冊方法及系統(tǒng),以避免當(dāng)注冊中心服務(wù)器出現(xiàn)問題而導(dǎo)致系統(tǒng)癱瘓。
[0057]參見圖1,本發(fā)明實(shí)施例提供的一種微服務(wù)注冊方法,在集群中的每個節(jié)點(diǎn)上啟動一個注冊中心,包括:
[0058]S101、注冊中心接收與所述注冊中心相對應(yīng)的本地的微服務(wù)所發(fā)送的注冊請求信息;其中,所述注
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1