配置中心接收第一 RPC框架的第一地址配置中心發(fā)送的所述第一 RPC框架的服務提供端注冊的地址信息;
[0039]存儲模塊,用于存儲所述接收模塊接收的所述地址信息。
[0040]采用該實施例的裝置,第二地址配置中心可以接收到第一地址配置中心發(fā)送的第一 RPC框架的服務提供端注冊的地址信息,這樣,升級后的客戶端可以從第二地址配置中心獲取到未升級的服務提供端注冊到第一地址配置中心的地址信息。
[0041 ] 本申請又一實施例提供的一種地址信息傳輸裝置,包括:
[0042]確定模塊,用于確定第二 RPC框架的服務提供端提供服務的地址信息;
[0043]注冊模塊,用于將所述地址信息注冊到第一 RPC框架的地址配置中心和第二 RPC框架的地址配置中心;所述第二 RPC框架為將所述第一 RPC框架升級后的RPC框架。
[0044]采用該實施例的裝置,未升級的客戶端可以從第一地址配置中心獲取到升級后的服務提供端注冊的地址信息,避免了先升級服務提供端所導致的未升級的客戶端無法獲取到升級后的服務提供端注冊的地址信息的問題。
【附圖說明】
[0045]圖1為本申請實施例一提供的地址信息傳輸方法流程圖;
[0046]圖2為本申請實施例二提供的地址信息傳輸方法流程圖;
[0047]圖3為本申請實施例三提供的地址信息傳輸方法流程圖;
[0048]圖4為本申請實施例四提供的地址信息傳輸方法流程圖;
[0049]圖5為本申請實施例五提供的地址信息傳輸方法流程圖;
[0050]圖6為本申請實施例六提供的地址信息傳輸方法流程圖;
[0051]圖7為本申請實施例七提供的地址信息傳輸方法流程圖;
[0052]圖8為Dubbo注冊中心將接收的各服務提供端注冊的地址信息寫入Dubbo的Mysql數(shù)據(jù)庫中的示意圖;
[0053]圖9為Dubbo注冊中心將Dubbo服務提供端注冊的地址信息同步到ConfigServer中的不意圖;
[0054]圖10為不同ConfigServer之間進行地址信息同步的示意圖;
[0055]圖11為不同RPC框架下地址信息的注冊和訂閱示意圖;
[0056]圖12為本申請實施例八提供的地址信息傳輸裝置結構示意圖;
[0057]圖13為本申請實施例九提供的地址信息傳輸裝置結構示意圖;
[0058]圖14為本申請實施例十提供的地址信息傳輸裝置結構示意圖。
【具體實施方式】
[0059]本申請實施例中,未升級的第一 RPC框架(如Dubbo)的第一地址配置中心在接收到第一 RPC框架的服務提供端注冊的地址信息后,將該地址信息發(fā)送給升級后的第二 RPC框架(如HSF2),這樣,可以保證如果先將第一 RPC框架的客戶端升級為第二 RPC框架的客戶端,該升級后的客戶端仍然可以獲取未升級的服務提供端注冊到第一地址配置中心的地址信息。
[0060]本申請另一實施例中,服務提供端將提供服務的地址信息注冊到第一 RPC框架的第一地址配置中心和第二 RPC框架的第二地址配置中心,這樣,未升級的客戶端可以從第一地址配置中心獲取到升級后的服務提供端注冊的地址信息。
[0061]下面結合說明書附圖對本申請實施例作進一步詳細描述。
[0062]本申請實施例中,第一 RPC框架為未升級的RPC框架,如采用Dubbo注冊中心作為地址配置中心的Dubbo服務框架。第二 RPC框架為升級后的RPC框架,如采用配置服務器(ConfigServer)作為地址配置中心的第二版本的高性能服務框架HSF2。不管是未升級的第一 RPC框架,還是升級后的第二 RPC框架,都分別具有多個地址配置中心,每個地址配置中心可以是由軟件實現(xiàn)的虛擬服務器,也即這多個地址配置中心構成一個軟負載集群。
[0063]如圖1所示,為本申請實施例一提供的地址信息傳輸方法流程圖,包括以下步驟:
[0064]SlOl:第一 RPC框架的第一地址配置中心接收第一 RPC框架的服務提供端注冊的地址信息;
[0065]該步驟中,當?shù)谝?RPC框架的服務提供端準備向客戶端提供服務時,會將地址信息注冊到第一 RPC框架的其中一個地址配置中心。這里的地址信息為服務提供端向客戶端提供服務的地址信息,可以包括服務名稱、統(tǒng)一資源定位器(Uniform Resoure Locator,URL)信息、端口號等。
[0066]S102:第一地址配置中心存儲接收的地址信息,并將接收的地址信息發(fā)送給第二RPC框架的第二地址配置中心;第二 RPC框架為將第一 RPC框架升級后的RPC框架。
[0067]該步驟中,第一地址配置中心在接收到第一 RPC框架的服務提供端注冊的地址信息后,將該服務提供端注冊的地址信息進行存儲。若這里的第一 RPC框架為Dubbo服務框架,第一地址配置中心為某個Dubbo注冊中心,則該Dubbo注冊中心在接收到Dubbo服務提供端注冊的地址信息后,將該地址信息寫入Dubbo的關系型數(shù)據(jù)庫管理系統(tǒng)Mysql數(shù)據(jù)庫中,該數(shù)據(jù)庫中存放了 Dubbo的各注冊中心存儲的地址信息,也即該數(shù)據(jù)庫中存放了全量的地址信息。這樣,Dubbo的其它注冊中心可以從該數(shù)據(jù)庫中獲取該Dubbo注冊中心存儲到該Mysql數(shù)據(jù)庫中的地址信息,并提供給服務的客戶端。
[0068]該步驟中,第一地址配置中心在接收到第一 RPC框架的服務提供端注冊的地址信息后,將所述地址信息同步到第二 RPC框架的第二地址配置中心。若這里的第一 RPC框架為Dubbo服務框架,第一地址配置中心為某個Dubbo注冊中心,第二 RPC框架為HSF2,第二地址配置中心為ConfigServer,則該Dubbo注冊中心在接收到Dubbo服務提供端注冊的地址信息后,將該地址信息發(fā)送給HSF2的某個ConfigServer。該ConfigServer在接收到該地址信息后,將該地址信息存儲在內(nèi)存中,同時,將該地址信息發(fā)送給HSF2的其它ConfigServer,實現(xiàn)在不同ConfigServer之間地址信息的同步,也即,每個ConfigServer都保存了全量的地址信息。
[0069]在上述實施例一中,第一 RPC框架的第一地址配置中心在接收到未升級的服務提供端注冊的地址信息后,將該地址信息發(fā)送給第二 RPC框架的第二地址配置中心。這樣,升級后的客戶端仍然可以從第二地址配置中心獲取到未升級的服務提供端注冊到第一地址配置中心的地址信息。
[0070]上述實施例一解決了如果先升級客戶端后升級服務提供端所導致的升級后的客戶端無法獲取到未升級的服務提供端注冊的地址信息的問題。在實際實施中,除了有可能出現(xiàn)先升級客戶端后升級服務提供端的情況,也有可能出現(xiàn)先升級服務提供端,后升級客戶端的情況。若升級服務提供端后,升級的服務提供端將提供服務的地址信息注冊到升級后的第二 RPC框架的第二地址配置中心,則未升級的客戶端將無法獲取到該地址信息。
[0071]為了進一步解決若先升級服務提供端后升級客戶端所導致的未升級的客戶端無法獲取到升級的服務提供端注冊的地址信息的問題,本申請以下實施例二在上述實施例一的基礎上進一步豐富了地址信息傳輸?shù)姆椒鞒?,給出了該問題的解決方法。
[0072]如圖2所示,為本申請實施例二提供的地址信息傳輸方法流程圖,包括以下步驟:
[0073]S201:第一 RPC框架的第一地址配置中心接收并存儲第二 RPC框架的服務提供端注冊的地址信息;
[0074]該實施例中,升級后的第二 RPC框架的服務提供端不僅將提供服務的地址信息注冊到第二 RPC框架的第二地址配置中心,還將該地址信息注冊到第一 RPC框架的第一地址配置中心。這樣,未升級的客戶端仍然可以從第一地址配置中心獲取到升級后的服務提供端注冊的地址信息。
[0075]若這里的第一 RPC框架為Dubbo服務框架,第一地址配置中心為某個Dubbo注冊中心,第二 RPC框架為從Dubbo升級后的HSF2,第二地址配置中心為ConfigServer,則從Dubbo升級后的HSF2的服務提供端將提供服務的地址信息同時注冊到某個Dubbo注冊中心和某個ConfigServer。該Dubbo注冊中心將接收到的地址信息存儲到Dubbo的Mysql數(shù)據(jù)庫中,這樣,Dubbo的其它注冊中心可以從該數(shù)據(jù)庫中獲取該Dubbo注冊中心存儲到該Mysql數(shù)據(jù)庫中的地址信息,并提供給服務的客戶端。該ConfigServer在接收到該地址信息后,將該地址信息存儲在內(nèi)存中,同時,將該地址信息發(fā)送給HS