新四季網

基於服務集群系統的服務處理方法、裝置、設備及介質與流程

2024-04-15 16:28:05



1.本技術涉及服務調用技術領域,尤其涉及一種基於服務集群系統的服務處理方法、裝置、設備及介質。


背景技術:

2.隨著通信技術的發展,越來越多的微服務架構被部署在雲環境中。而現有技術中的微服務架構體系中,註冊中心只記錄了工作在單網絡區域的服務和服務地址的映射關係。
3.但在現有技術中,若存在微服務架構跨網絡區域部署的情況,則對於不同網絡區域間的服務,無法通過查詢在註冊中心註冊地址獲取服務,進而難以實現跨網絡跨區域的服務調用。


技術實現要素:

4.本技術提供一種基於服務集群系統的服務處理方法、裝置、設備及介質,用以解決現有技術中,集群內的註冊中心只記錄了本集群內的服務和服務地址的映射關係,無法實現跨網絡跨區域服務調用的問題。
5.第一方面,本技術提供一種基於服務集群系統的服務處理方法,包括:
6.第一服務集群接收跨集群註冊同步中心發送的服務調用請求,所述服務調用請求包括:待調用的服務標識。
7.所述第一服務集群根據所述服務調用請求,對所述待調用的服務標識對應的待調用的服務進行調用處理,並在調用過程中,在確定調用與所述待調用的服務相關聯的調用服務,且所述相關聯的調用服務不在所述第一服務集群中時,從所述第一服務集群中的第一註冊中心中查詢獲取與所述待調用的服務標識對應的第二服務集群的標識。
8.所述第一服務集群向所述第二服務集群的標識對應的第二服務集群發送攜帶有所述相關聯的調用服務的標識的跨集群調用請求,以供所述第二服務集群根據所述跨集群調用請求,對所述相關聯的調用服務的標識對應的相關聯的調用服務進行調用處理。
9.在一種具體實施方式中,所述第一服務集群根據所述服務調用請求,對所述待調用的服務標識對應的待調用的服務進行調用處理,包括:
10.所述第一服務集群中的本地api網關根據所述服務調用請求,從所述第一註冊中心中查詢獲取與所述待調用的服務標識對應的當前服務負載列表、當前所述第一時延表中與所述待調用的服務標識對應的第一時間差,並根據所述當前負載列表和對應的權重、以及所述第一時間差和對應的權重,獲取所述待調用的服務下的優先級最高的服務節點,以將所述服務調用請求轉發至所述優先級最高的服務節點。
11.所述第一服務集群中的所述優先級最高的服務節點根據所述調用請求,進行服務調用處理。
12.在一種具體實施方式中,還包括:
13.所述第一服務集群中的所述第一註冊中心分別與所述第一服務集群內的每個服務進行心跳機制處理,獲取或者更新所述第一時延表,所述第一時延表中包括每個服務對應的第一時間差。
14.所述第一服務集群中的所述第一註冊中心根據所述第一服務集群下每個服務中服務節點的負載狀態,分別獲取每個服務對應的服務負載列表,並將所述每個服務對應的服務負載列表發送給所述跨集群註冊同步中心。
15.在一種具體實施方式中,還包括:
16.所述第一服務集群中的所述第一註冊中心向其他服務集群進行心跳機制處理,獲取第三時延表,並將所述第三時延表發送給所述跨集群註冊同步中心。
17.其中,所述第三時延表中包括每個服務集群對應的第三時間差。
18.第二方面,本技術提供一種基於服務集群系統的服務處理方法,包括:
19.跨集群註冊同步中心獲取服務調用請求,所述服務調用請求包括:待調用的服務標識。
20.所述跨集群註冊同步中心根據所述服務調用請求,查找獲取所述待調用的服務標識所在的服務集群列表。
21.所述跨集群註冊同步中心根據第二時延表和第三時延表,分別獲取所述集群列表中每個服務集群對應的第二時間差和第三時間差,並根據第二時間差和對應的權重、以及第三時間差和對應的權重,分別獲取所述每個服務集群的時延級別。
22.所述跨集群註冊同步中心根據服務負載排序列表,分別獲取所述待調用的服務標識在每個服務集群下對應的負載,並根據所述每個服務集群的時延級別和對應的權重,以及所述待調用的服務標識在每個服務集群下對應的負載和對應權重,獲取所述每個服務集群的優先級。
23.所述跨集群註冊同步中心將所述服務調用請求發送給優先級最高的服務集群,以供所述優先級最高服務集群根據所述服務調用請求,進行相應的服務調用處理。
24.在一種具體實施方式中,還包括:
25.所述跨集群註冊同步中心分別與每個服務集群中的註冊中心進行心跳機制處理,獲取第二時延表,並將所述第二時延表分別發送給每個服務集群中的註冊中心;其中,所述第二時延包括每個服務集群對應的第二時間差。
26.所述跨集群註冊同步中心分別獲取每個服務集群上報的第三時延表;其中,所述第三時延表為服務集群中的註冊中心向其他服務集群進行心跳機制處理而獲取的時延表。
27.在一種具體實施方式中,還包括:
28.所述跨集群註冊同步中心分別獲取每個服務集群上報的所述服務集群下的每個服務對應的服務負載列表,並對相同服務進行整合,獲取服務負載排序列表。
29.第三方面,本技術提供一種服務集群,包括:
30.api網關,用於接收跨集群註冊同步中心發送的服務調用請求,所述服務調用請求包括:待調用的服務標識。
31.服務,用於根據所述服務調用請求,對所述待調用的服務標識對應的待調用的服務進行調用處理,並在調用過程中,在確定調用與所述待調用的服務相關聯的調用服務,且所述相關聯的調用服務不在所述服務集群中時,從所述服務集群中的第一註冊中心中查詢
獲取與所述待調用的服務標識對應的第二服務集群的標識。
32.所述服務,還用於向所述第二服務集群的標識對應的第二服務集群發送攜帶有所述相關聯的調用服務的標識的跨集群調用請求,以供所述第二服務集群根據所述跨集群調用請求,對所述相關聯的調用服務的標識對應的相關聯的調用服務進行調用處理。
33.在一種具體實施方式中,所述api網關具體用於:
34.根據所述服務調用請求,從所述第一註冊中心中查詢獲取與所述待調用的服務標識對應的當前服務負載列表、當前所述第一時延表中與所述待調用的服務標識對應的第一時間差,並根據所述當前負載列表和對應的權重、以及所述第一時間差和對應的權重,獲取所述待調用的服務下的優先級最高的服務節點,以將所述服務調用請求轉發至所述優先級最高的服務節點。
35.所述第一服務集群中的所述優先級最高的服務節點根據所述調用請求,進行服務調用處理。
36.在一種具體實施方式中,所述第一註冊中心,用於分別與所述服務集群內的每個服務進行心跳機制處理,獲取或者更新所述第一時延表,所述第一時延表中包括每個服務對應的第一時間差。
37.根據所述第一服務集群下每個服務中服務節點的負載狀態,分別獲取每個服務對應的服務負載列表,並將所述每個服務對應的服務負載列表發送給所述跨集群註冊同步中心。
38.在一種具體實施方式中,所述註冊中心,還用於:
39.向其他服務集群進行心跳機制處理,獲取第三時延表,並將所述第三時延表發送給所述跨集群註冊同步中心。
40.其中,所述第三時延表中包括每個服務集群對應的第三時間差。
41.第四方面,本技術提供一種跨集群註冊同步中心,包括:
42.對外網關,用於獲取服務調用請求,所述服務調用請求包括:待調用的服務標識。
43.內部伺服器,用於根據所述服務調用請求,查找獲取所述待調用的服務標識所在的服務集群列表。
44.所述內部伺服器,還用於根據第二時延表和第三時延表,分別獲取所述集群列表中每個服務集群對應的第二時間差和第三時間差,並根據第二時間差和對應的權重、以及第三時間差和對應的權重,分別獲取所述每個服務集群的時延級別。
45.所述內部伺服器,還用於根據服務負載排序列表,分別獲取所述待調用的服務標識在每個服務集群下對應的負載,並根據所述每個服務集群的時延級別和對應的權重,以及所述待調用的服務標識在每個服務集群下對應的負載和對應權重,獲取所述每個服務集群的優先級。
46.所述對外網關,還用於將所述服務調用請求發送給優先級最高的服務集群,以供所述優先級最高服務集群根據所述服務調用請求,進行相應的服務調用處理。
47.在一種具體實施方式中,所述內部伺服器還用於:
48.與每個服務集群中的註冊中心進行心跳機制處理,獲取第二時延表,並將所述第二時延表分別發送給每個服務集群中的註冊中心;其中,所述第二時延包括每個服務集群對應的第二時間差。
49.分別獲取每個服務集群上報的第三時延表;其中,所述第三時延表為服務集群中的註冊中心向其他服務集群進行心跳機制處理而獲取的時延表。
50.在一種具體實施方式中,所述內部伺服器還用於:
51.分別獲取每個服務集群上報的所述服務集群下的每個服務對應的服務負載列表,並對相同服務進行整合,獲取服務負載排序列表。
52.第五方面,本技術提供一種服務集群系統,包括:跨集群註冊同步中心和多個服務集群;其中,所述跨集群註冊同步中心用於執行如第二方面所述的服務處理方法;所述服務集群用於執行如第一方面所述的服務處理方法。
53.第六方面,本技術提供一種服務集群,包括:
54.處理器,存儲器,通信接口。
55.所述存儲器用於存儲所述處理器可執行的可執行指令。
56.其中,所述處理器配置為經由執行所述可執行指令來執行如第一方面所述的服務處理方法。
57.第七方面,本技術提供一種跨集群註冊同步中心,包括:
58.處理器,存儲器,通信接口。
59.所述存儲器用於存儲所述處理器可執行的可執行指令。
60.其中,所述處理器配置為經由執行所述可執行指令來執行如第二方面所述的服務處理方法。
61.第八方面,本技術提供一種可讀存儲介質,其上存儲有電腦程式,在於,所述電腦程式被處理器執行時實現第一方面所述的服務處理方法。
62.第九方面,本技術提供一種可讀存儲介質,其上存儲有電腦程式,在於,所述電腦程式被處理器執行時實現第二方面所述的服務處理方法。
63.本技術提供一種基於服務集群系統的服務處理方法、裝置、設備及介質,第一服務集群接收跨集群註冊同步中心發送的服務調用請求,所述服務調用請求包括:待調用的服務標識;所述第一服務集群根據所述服務調用請求,對所述待調用的服務標識對應的待調用的服務進行調用處理,並在調用過程中,在確定調用與所述待調用的服務相關聯的調用服務,且所述相關聯的調用服務不在所述第一服務集群中時,從所述第一服務集群中的第一註冊中心中查詢獲取與所述待調用的服務標識對應的第二服務集群的標識;所述第一服務集群向所述第二服務集群的標識對應的第二服務集群發送攜帶有所述相關聯的調用服務的標識的跨集群調用請求,以供所述第二服務集群根據所述跨集群調用請求,對所述相關聯的調用服務的標識對應的相關聯的調用服務進行調用處理。相較於現有技術,服務集群內的註冊中心只記錄了本集群內的服務和服務地址的映射關係,無法實現跨網絡跨區域服務調用,本技術構建由跨集群註冊同步中心和多個服務集群組成的服務集群系統,實現跨網絡跨區域的服務調用。
附圖說明
64.為了更清楚地說明本技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本技術的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根
據這些附圖獲得其他的附圖。
65.圖1為本技術提供的一種基於服務集群系統的服務處理方法實施例一的流程示意圖;
66.圖2為本技術提供的一種基於服務集群系統的服務處理方法實施例二的流程示意圖;
67.圖3為本技術提供的一種基於服務集群系統的服務處理方法實施例三的流程示意圖;
68.圖4為本技術提供的一種基於服務集群系統的服務處理方法實施例四的流程示意圖;
69.圖5為本技術提供的一種基於服務集群系統的原理示意圖;
70.圖6為本技術提供的一種服務集群實施例四的結構示意圖;
71.圖7為本技術提供的一種跨集群註冊同步中心實施例五的結構示意圖;
72.圖8為本技術提供的一種服務集群系統實施例六的結構示意圖。
73.通過上述附圖,已示出本技術明確的實施例,後文中將有更詳細的描述。這些附圖和文字描述並不是為了通過任何方式限制本技術構思的範圍,而是通過參考特定實施例為本領域技術人員說明本技術的概念。
具體實施方式
74.為使本技術實施例的目的、技術方案和優點更加清楚,下面將結合本技術實施例中的附圖,對本技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本技術一部分實施例,而不是全部的實施例。基於本技術中的實施例,本領域普通技術人員在根據本實施例的啟示下作出的所有其他實施例,都屬於本技術保護的範圍。
75.本技術的說明書和權利要求書及上述附圖中的術語「第一」、「第二」、「第三」「第四」等(如果存在)是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本技術的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
76.現有技術中,集群內的註冊中心只記錄了本集群內的服務和服務地址的映射關係,僅能對集群內部的服務進行調用,難以實現跨網絡跨區域的服務調用。因此本技術的構思在於如何實現跨網絡跨區域的服務調用。
77.下面,通過具體實施例對本技術的技術方案進行詳細說明。需要說明的是,下面這幾個具體的實施例可以相互結合,對於相同或相似的概念或過程可能在某些實施例中不再贅述。
78.圖1為本技術提供的一種基於服務集群系統的服務處理方法實施例一的流程示意圖,如圖1所示,該基於服務集群系統的服務處理方法法具體包括以下步驟:
79.步驟s101:第一服務集群接收跨集群註冊同步中心發送的服務調用請求。
80.其中,服務調用請求包括:待調用的服務標識。
81.步驟s102:第一服務集群根據服務調用請求,對待調用的服務標識對應的待調用的服務進行調用處理,並在調用過程中,在確定調用與待調用的服務相關聯的調用服務,且相關聯的調用服務不在第一服務集群中時,從第一服務集群中的第一註冊中心中查詢獲取與待調用的服務標識對應的第二服務集群的標識。
82.具體的,如圖5本技術提供的一種基於服務集群系統的原理示意圖所示,各服務集群內部服務通過超文本傳輸協議http將其對應的服務信息發送至服務集群內的註冊中心進行註冊處理,形成本地服務列表,服務集群內的註冊中心通過傳輸控制協議tcp將服務信息發送至跨集群註冊同步中心的對外網關,對外網關通過超文本傳輸協議http將服務信息發送給內部伺服器,內部伺服器通過超文本傳輸協議http將服務信息發送至服務列表進行登記處理,即跨集群註冊同步中心的服務列表包括所有服務集群中的服務信息。跨集群註冊同步中心的內部伺服器根據服務信息對服務和服務所屬服務集群對應的伺服器負載均衡器slb進行匹配處理,跨集群註冊同步中心的服務列表將登記了所有服務集群中所有服務對應的服務信息,並經過內部伺服器發送至對外網關,由對外網關通過傳輸控制協議tcp發送至各服務集群的註冊中心中。
83.若出現服務退出服務集群或狀態異常時,該服務所屬服務集群內部的註冊中心接收該服務退出的消息或通過心跳機制檢測到該服務處於異常狀態時,則更新本地服務列表,跨集群註冊同步中心的服務列表同步更新,並將更新後的服務信息發送至各服務集群中的註冊中心。
84.其中,服務信息包括服務名稱、服務對應的埠號、服務描述、服務對應的ip地址、服務所屬服務集群等。傳輸控制協議tcp連接以pki證書做為雙向校驗方式。通信數據協議格式為command(固定為4位元組)+length(固定為2位元組)+data,具體的,command為命令信息,length為data的長度信息,data為數據信息,且通信數據協議可使用若干種文件壓縮程序進行壓縮處理。
85.具體來說,對於服務集群內註冊信息向跨集群註冊同步中心發送連接信息初始化的命令時,該命令包括的數據信息為服務集群信息、服務集群狀態、服務數量、時間戳等;對於服務集群內註冊信息向跨集群註冊同步中心發送請求服務列表同步的命令時,該命令包括的數據信息為服務集群信息、時間戳等;對於服務集群內註冊信息向跨集群註冊同步中心發送服務註冊命令時,該命令包括的數據信息為服務集群信息、slb信息、服務名、服務狀態、時間戳等;對於服務集群內註冊信息向跨集群註冊同步中心發送服務註銷命令時,該命令包括的數據信息為服務集群信息、slb信息、服務名、服務狀態、時間戳等;對於跨集群註冊同步中心向服務集群內註冊信息發送服務同步命令時,該命令包括的數據信息為服務列表、時間戳等,具體的,服務列表包括服務名、服務對應服務集群、服務狀態、服務對應slb;對於跨集群註冊同步中心向服務集群內註冊信息發送請求服務列表上報命令時,該命令包括的數據信息為時間戳等。
86.步驟s103:第一服務集群向第二服務集群的標識對應的第二服務集群發送攜帶有相關聯的調用服務的標識的跨集群調用請求,以供第二服務集群根據跨集群調用請求,對相關聯的調用服務的標識對應的相關聯的調用服務進行調用處理。
87.在本實施例中,第一服務集群內的待調用的服務即相關聯的調用服務根據本服務集群內部的註冊中心中由跨集群註冊同步中心發送的所有服務集群中服務對應的服務信
息,查找獲取相關聯的調用服務所屬服務集群,若查詢結果為相關聯的調用服務屬於另一服務集群,則向該服務集群的slb通過超文本傳輸協議http發送跨集群調用請求,該服務集群的slb通過超文本傳輸協議http將跨集群調用請求發送給該服務集群內部的api網關,api網關根據跨集群調用請求在服務集群內部的註冊中心查找獲取相關聯的調用服務的ip地址,並根據相關聯的調用服務的ip地址對相關聯的調用服務進行調用。
88.具體的,如圖5所示,在服務集群a的註冊中心a中查詢到相關聯的調用服務即服務3屬於服務集群b,則向服務集群b的slb-b通過超文本傳輸協議http發送跨集群調用請求,該服務集群的slb-b通過超文本傳輸協議http將跨集群調用請求發送給該服務集群內部的api網關b,api網關b根據跨集群調用請求在服務集群內部的註冊中心查找獲取服務3的ip地址,並根據服務3的ip地址對服務3進行調用。
89.在本實施例中,通過第一服務集群接收跨集群註冊同步中心發送的服務調用請求,服務調用請求包括:待調用的服務標識;第一服務集群根據服務調用請求,對待調用的服務標識對應的待調用的服務進行調用處理,並在調用過程中,在確定調用與待調用的服務相關聯的調用服務,且相關聯的調用服務不在第一服務集群中時,從第一服務集群中的第一註冊中心中查詢獲取與待調用的服務標識對應的第二服務集群的標識;第一服務集群向第二服務集群的標識對應的第二服務集群發送攜帶有相關聯的調用服務的標識的跨集群調用請求,以供第二服務集群根據跨集群調用請求,對相關聯的調用服務的標識對應的相關聯的調用服務進行調用處理。相較於現有技術服務集群內的註冊中心只記錄了本服務集群內的服務和服務地址的映射關係,無法實現跨網絡跨區域服務調用,本技術構建由跨集群註冊同步中心和多個服務集群組成的服務集群系統,實現跨網絡跨區域的服務調用。
90.圖2為本技術提供的一種基於服務集群系統的服務處理方法實施例二的流程示意圖,如圖2所示,該基於服務集群系統的服務處理方法法具體包括以下步驟:
91.步驟s201:跨集群註冊同步中心獲取服務調用請求。
92.其中,服務調用請求包括:待調用的服務標識。
93.步驟s202:跨集群註冊同步中心根據服務調用請求,查找獲取待調用的服務標識所在的服務集群列表。
94.在本實施例中,各服務集群內部服務通過超文本傳輸協議http將其對應的服務信息發送至服務集群內的註冊中心進行註冊處理,形成本地服務列表,服務集群內的註冊中心通過傳輸控制協議tcp將服務信息發送至跨集群註冊同步中心的對外網關,對外網關通過超文本傳輸協議http將服務信息發送給內部伺服器,內部伺服器通過超文本傳輸協議http將服務信息發送至服務列表進行登記處理,即跨集群註冊同步中心的服務列表包括所有服務集群中的服務信息,跨集群註冊同步中心根據服務調用請求對應的服務信息,查找獲取待調用的服務標識所在的服務集群列表。
95.其中,服務信息包括服務名稱、服務對應的埠號、服務描述、服務對應的ip地址、服務所屬服務集群等。傳輸控制協議tcp連接以pki證書做為雙向校驗方式。通信數據協議格式為command(固定為4位元組)+length(固定為2位元組)+data,具體的,command為命令信息,length為data的長度信息,data為數據信息,且通信數據協議可使用若干種文件壓縮程序進行壓縮處理。
96.具體來說,對於服務集群內註冊中心向跨集群註冊同步中心發送連接信息初始化
的命令時,該命令包括的數據信息為服務集群信息、服務集群狀態、服務數量、時間戳等;對於服務集群內註冊中心向跨集群註冊同步中心發送請求服務列表同步的命令時,該命令包括的數據信息為服務集群信息、時間戳等;對於服務集群內註冊中心向跨集群註冊同步中心發送服務註冊命令時,該命令包括的數據信息為服務集群信息、slb信息、服務名、服務狀態、時間戳等;對於服務集群內註冊中心向跨集群註冊同步中心發送服務註銷命令時,該命令包括的數據信息為服務集群信息、slb信息、服務名、服務狀態、時間戳等;對於跨集群註冊同步中心向服務集群內註冊中心發送服務同步命令時,該命令包括的數據信息為服務列表、時間戳等,具體的,服務列表包括服務名、服務對應服務集群、服務狀態、服務對應slb;對於跨集群註冊同步中心向服務集群內註冊中心發送請求服務列表上報命令時,該命令包括的數據信息為時間戳等。
97.步驟s203:跨集群註冊同步中心根據第二時延表和第三時延表,分別獲取服務集群列表中每個服務集群對應的第二時間差和第三時間差,並根據第二時間差和對應的權重、以及第三時間差和對應的權重,分別獲取每個服務集群的時延級別。
98.在本實施例中,記錄跨集群註冊同步中心根據心跳機制發出心跳的時間與每個服務集群中的註冊中心接收到該心跳的時間,獲取第二時延表,第二時延包括每個服務集群對應的第二時間差,第二時間差用t2表示。記錄服務集群中的註冊中心根據心跳機制發出心跳的時間與其他服務集群接收該心跳的時間,獲取第三時延表,第三時延表包括第三時間差,第三時間差用t3表示。根據實際需求,設置第二時間差對應的權重為第二權重,用ω2表示,第三時間差對應的權重為第三權重,用ω3表示。
99.根據第二時間差t2、第二權重ω2、第三時間差t3、第三權重ω3獲取第一公式,並根據第一公式獲取每個服務集群的時延級別,其中,服務集群的時延級別用p表示。
100.具體的,第一公式表示為:
101.p=t2×
ω2+t3×
ω3102.對於服務集群內註冊中心向跨集群註冊同步中心發送心跳命令時,該命令包括的數據信息為服務集群信息、時間戳等;對於跨集群註冊同步中心向服務集群內註冊中心發送跨集群註冊同步中心心跳響應的命令時,該命令包括的數據信息為時間戳等。
103.步驟s204:跨集群註冊同步中心根據服務負載排序列表,分別獲取待調用的服務標識在每個服務集群下對應的負載,並根據每個服務集群的時延級別和對應的權重,以及待調用的服務標識在每個服務集群下對應的負載和對應權重,獲取每個服務集群的優先級。
104.在本實施例中,發生服務調用時,服務集群內的本地註冊中心對調用進行記錄,並實時更新本服務集群內個服務的負載狀態,獲取服務負載列表,並將負載排序表通過tcp協議同步至跨集群註冊同步中心,具體的,服務負載列表用m表示。
105.舉例來說,某服務集群內服務1為獲取功能、服務2為查詢功能,則為了相同功能的橫向擴展,服務1包括服務1.1、服務1.2、服務1.3,服務2包括服務2.1、服務2.2、服務2.3,當下服務1.1正在被調用5次,服務1.2正在被調用4次,服務1.3正在被調用3次,服務2.1正在被調用4次,服務2.2正在被調用3次,服務2.3正在被調用2次,則服務負載列表m記載服務1.1正在被調用5次,服務1.2正在被調用4次,服務1.3正在被調用3次,服務2.1正在被調用4次,服務2.2正在被調用3次,服務2.3正在被調用2次。
106.根據服務負載排序列表m獲取每個服務集群下對應的負載n,在本技術中服務集群下對應的負載等同於服務負載排序,即服務負載排序列表也可用表示n,並將各服務集群下對應的負載n通過tcp協議同步至跨集群註冊同步中心,並由通過tcp協議同步至跨集群註冊同步中心發送至各服務集群中,使每個服務集群獲取其他所有服務集群對應的負載n。
107.具體的,負載n為同服務的負載累加,如上例中,服務1對應的負載n為5+4+3=12,服務2對應的負載n為4+3+2=9次。
108.對於服務集群的時延級別p,根據實際需求,獲取服務集群的時延級別p對應的第四權重,用ω4表示,服務集群下對應的負載n,根據實際需求,獲取服務集群下對應的負載n對應的第五權重,ω5表示。
109.根據服務集群的時延級別p、第四權重ω4、服務集群下對應的負載n、第五權重ω5,獲取第二公式,並根據第二公式,獲取每個服務集群的優先級,其中,服務集群的優先級用x表示。
110.具體的,第二公式表示為:
111.x=p
×
ω4+n
×
ω5112.步驟s205:跨集群註冊同步中心將服務調用請求發送給優先級最高的服務集群,以供優先級最高服務集群根據服務調用請求,進行相應的服務調用處理。
113.在本實施例中,記錄服務集群內註冊中心根據心跳機制發出心跳的時間與該服務集群內服務接收到該心跳的時間,獲取第一時延表,或對第一時延表進行更新,第一時延表中包括每個服務對應的第一時間差,第一時間差用t1表示。
114.對於第一時間差t1,根據實際需求,獲取第一時間差用t1對應的第一權重,用ω1表示,服務負載列表m,根據實際需求,獲取服務負載列表m對應的第六權重,用ω6表示。
115.根據第一時間差t1、第一權重ω1、服務負載列表m、第六權重ω6獲取第三公式,並根據第三公式獲取服務集群內服務的優先級,其中,服務集群內服務的優先級用y表示。
116.具體的,第三公式表示為:
117.y=t1×
ω1+m
×
ω6118.在跨區域服務調用時,根據服務集群內服務的優先級獲取優先級最高的服務節點,對該節點進行服務調用。
119.在本實施例中,在確定相關聯的調用服務時,服務集群內的待調用的服務根據本服務集群內部的註冊中心由跨集群註冊同步中心發送的所有服務集群中服務對應的服務信息查找獲取相關聯的調用服務所屬服務集群,並向該服務集群的slb通過超文本傳輸協議http發送跨集群調用請求,該服務集群的slb通過超文本傳輸協議http將跨集群調用請求發送給該服務集群內部的api網關,api網關根據跨集群調用請求在服務集群內部的註冊中心查找獲取相關聯的調用服務的ip地址,並根據相關聯的調用服務的ip地址對相關聯的調用服務進行調用。
120.在本實施例中,跨集群註冊同步中心根據服務調用請求,查找獲取待調用的服務標識所在的服務集群列表;並根據第一公式、第二公式、第三公式獲取相關聯的調用服務對應的優先級最高的服務集群,並在該優先級最高的服務集群中查詢獲取優先級最高的服務,並對該服務進行調用處理。相較於現有技術,服務集群內的註冊中心只記錄了本服務集群內的服務和服務地址的映射關係,無法實現跨網絡跨區域服務調用,本技術構建由跨集
群註冊同步中心和多個服務集群組成的服務集群系統,並構建服務調用優先級算法,在實現跨網絡跨區域的服務調用的同時,優化了服務調用體驗,提升了服務調用效率。
121.圖3為本技術提供的一種基於服務集群系統的服務處理方法實施例三的流程示意圖,如圖3所示,該基於服務集群系統的服務處理方法法具體包括以下步驟:
122.步驟s301:第一服務集群接收跨集群註冊同步中心發送的服務調用請求。
123.其中,服務調用請求包括:待調用的服務標識。
124.步驟s302:第一服務集群根據服務調用請求,對待調用的服務標識對應的待調用的服務進行調用處理。
125.在本實施例中,各服務集群內部服務通過超文本傳輸協議http將其對應的服務信息發送至服務集群內的註冊中心進行註冊處理,形成本地服務列表,服務集群內的註冊中心通過傳輸控制協議tcp將服務信息發送至跨集群註冊同步中心的對外網關,對外網關通過超文本傳輸協議http將服務信息發送給內部伺服器,內部伺服器通過超文本傳輸協議http將服務信息發送至服務列表進行登記處理,即跨集群註冊同步中心的服務列表包括所有服務集群中的服務信息。跨集群註冊同步中心的內部伺服器根據服務信息對服務和服務所屬服務集群對應的伺服器負載均衡器slb進行匹配處理,跨集群註冊同步中心的服務列表將登記了所有服務集群中所有服務對應的服務信息,並經過內部伺服器發送至對外網關,由對外網關通過傳輸控制協議tcp發送至各服務集群的註冊中心中。
126.若出現服務退出服務集群或狀態異常時,該服務所屬服務集群內部的註冊中心接收該服務退出的消息或通過心跳機制檢測到該服務處於異常狀態時,則更新本地服務列表,跨集群註冊同步中心的服務列表同步更新,並將更新後的服務信息發送至各服務集群中的註冊中心。
127.該步驟的服務信息包括服務、傳輸控制協議校驗方式及命令內容見上述實施例,此處不再贅述。
128.步驟s303:第一服務集群中的第一註冊中心分別與第一服務集群內的每個服務進行心跳機制處理,獲取或者更新第一時延表,第一時延表中包括每個服務對應的第一時間差。
129.在本實施例中,第一時間差用t1表示,該步驟的詳細過程見上一實施例,此處不再贅述。
130.步驟s304:第一服務集群中的第一註冊中心根據第一服務集群下每個服務中服務節點的負載狀態,分別獲取每個服務對應的服務負載列表,並將每個服務對應的服務負載列表發送給跨集群註冊同步中心。
131.在本實施例中,服務負載列表用m表示,該步驟的詳細過程見上一實施例,此處不再贅述。
132.步驟s305:第一服務集群中的第一註冊中心向其他服務集群進行心跳機制處理,獲取第三時延表,並將第三時延表發送給跨集群註冊同步中心。
133.其中,第三時延表中包括每個服務集群對應的第三時間差。
134.在本實施例中,第三時間差用t3表示,該步驟的詳細過程見上一實施例,此處不再贅述。
135.步驟s306:在調用過程中,在確定調用與待調用的服務相關聯的調用服務,且相關
聯的調用服務不在第一服務集群中時,從第一服務集群中的第一註冊中心中查詢獲取與待調用的服務標識對應的第二服務集群的標識。
136.在本實施例中,第二服務集群應為優先級最高的服務集群,服務集群優先級算法見上一實施例,此處不再贅述。
137.步驟s307:第一服務集群中的本地api網關根據服務調用請求,從第一註冊中心中查詢獲取與待調用的服務標識對應的當前服務負載列表、當前第一時延表中與待調用的服務標識對應的第一時間差,並根據當前負載列表和對應的權重、以及第一時間差和對應的權重,獲取待調用的服務下的優先級最高的服務節點,以將服務調用請求轉發至優先級最高的服務節點。
138.第一服務集群中的優先級最高的服務節點根據調用請求,進行服務調用處理。
139.在本實施例中,服務節點優先級算法見上一實施例,此處不再贅述。
140.步驟s308:第一服務集群向第二服務集群的標識對應的第二服務集群發送攜帶有相關聯的調用服務的標識的跨集群調用請求,以供第二服務集群根據跨集群調用請求,對相關聯的調用服務的標識對應的相關聯的調用服務進行調用處理。
141.在本實施例中,相關聯的調用服務進行調用處理見上述實施例,此處不再贅述。
142.在本實施例中,第一服務集群根據服務調用請求,查找獲取待調用的服務標識所在的服務集群列表;並根據相關公式獲取相關聯的調用服務對應的優先級最高的服務集群,並在該優先級最高的服務集群中查詢獲取優先級最高的服務,並對該服務進行調用處理。相較於現有技術,服務集群內的註冊中心只記錄了本服務集群內的服務和服務地址的映射關係,無法實現跨網絡跨區域服務調用,本技術構建由跨集群註冊同步中心和多個服務集群組成的服務集群系統,並構建服務調用優先級算法,在實現跨網絡跨區域的服務調用的同時,優化了服務調用體驗,提升了服務調用效率。
143.圖4為本技術提供的一種基於服務集群系統的服務處理方法實施例四的流程示意圖,如圖4所示,該基於服務集群系統的服務處理方法法具體包括以下步驟:
144.步驟s401:跨集群註冊同步中心獲取服務調用請求。
145.其中,服務調用請求包括:待調用的服務標識。
146.步驟s402:跨集群註冊同步中心根據服務調用請求,查找獲取待調用的服務標識所在的服務集群列表。
147.在本實施例中,各服務集群將註冊中心的服務信息上傳至跨集群註冊同步中心,具體過程參見上述實施例,此處不做贅述。
148.步驟s403:跨集群註冊同步中心分別與每個服務集群中的註冊中心進行心跳機制處理,獲取第二時延表,並將第二時延表分別發送給每個服務集群中的註冊中心;其中,第二時延包括每個服務集群對應的第二時間差。
149.在本實施例中,第二時間差用t2表示,該步驟的詳細過程見上述實施例,此處不再贅述。
150.步驟s404:跨集群註冊同步中心分別獲取每個服務集群上報的第三時延表;其中,第三時延表為服務集群中的註冊中心向其他服務集群進行心跳機制處理而獲取的時延表。
151.在本實施例中,第三時間差用t3表示,該步驟的詳細過程見上述實施例,此處不再贅述。
152.步驟s405:跨集群註冊同步中心根據第二時延表和第三時延表,分別獲取服務集群列表中每個服務集群對應的第二時間差和第三時間差,並根據第二時間差和對應的權重、以及第三時間差和對應的權重,分別獲取每個服務集群的時延級別。
153.在本實施例中,服務集群的時延級別用p表示,該步驟的詳細過程見上述實施例,此處不再贅述。
154.步驟s406:跨集群註冊同步中心分別獲取每個服務集群上報的服務集群下的每個服務對應的服務負載列表,並對相同服務進行整合,獲取服務負載排序列表。
155.在本實施例中,服務負載列表用m表示,服務負載排序列表用n表示,該步驟的詳細過程見上述實施例,此處不再贅述。
156.步驟s407:跨集群註冊同步中心根據服務負載排序列表,分別獲取待調用的服務標識在每個服務集群下對應的負載,並根據每個服務集群的時延級別和對應的權重,以及待調用的服務標識在每個服務集群下對應的負載和對應權重,獲取每個服務集群的優先級。
157.在本實施例中,服務集群的優先級用服務集群的時延級別p表示,該步驟的詳細過程見上述實施例,此處不再贅述。
158.步驟s408:跨集群註冊同步中心將服務調用請求發送給優先級最高的服務集群,以供優先級最高服務集群根據服務調用請求,進行相應的服務調用處理。
159.在本實施例中,根據服務集群的優先級及相應參數獲取服務集群內服務的優先級,服務集群內服務的優先級用y表示,該步驟的詳細過程見上述實施例,此處不再贅述。
160.在本實施例中,跨集群註冊同步中心根據服務調用請求,查找獲取待調用的服務標識所在的服務集群列表;並根據相關公式獲取相關聯的調用服務對應的優先級最高的服務集群,並在該優先級最高的服務集群中查詢獲取優先級最高的服務,並對該服務進行調用處理。相較於現有技術,服務集群內的註冊中心只記錄了本服務集群內的服務和服務地址的映射關係,無法實現跨網絡跨區域服務調用,本技術構建由跨集群註冊同步中心和多個服務集群組成的服務集群系統,並構建服務調用優先級算法,在實現跨網絡跨區域的服務調用的同時,優化了服務調用體驗,提升了服務調用效率。
161.圖6為本技術提供的一種服務集群實施例四的結構示意圖,該服務集群可以為上述任一基於服務集群系統的服務處理方法的服務集群。具體的,如圖6所示,服務集群50包括:api網關51、服務52和第一註冊中心53。
162.其中,api網關51,用於接收跨集群註冊同步中心發送的服務調用請求,服務調用請求包括:待調用的服務標識。
163.服務52,用於根據服務調用請求,對待調用的服務標識對應的待調用的服務進行調用處理,並在調用過程中,在確定調用與待調用的服務相關聯的調用服務,且相關聯的調用服務不在服務集群中時,從服務集群中的第一註冊中心53中查詢獲取與待調用的服務標識對應的第二服務集群的標識。
164.服務52,還用於向第二服務集群的標識對應的第二服務集群發送攜帶有相關聯的調用服務的標識的跨集群調用請求,以供第二服務集群根據跨集群調用請求,對相關聯的調用服務的標識對應的相關聯的調用服務進行調用處理。
165.本實施例中的服務集群50可以執行上述方法實施例一或實施例三的,其實現原理
和技術效果相類似,此處不再贅述。
166.在上述實施例的基礎上,api網關51具體用於:
167.根據服務調用請求,從第一註冊中心中查詢獲取與待調用的服務標識對應的當前服務負載列表、當前第一時延表中與待調用的服務標識對應的第一時間差,並根據當前負載列表和對應的權重、以及第一時間差和對應的權重,獲取待調用的服務下的優先級最高的服務節點,以將服務調用請求轉發至優先級最高的服務節點。
168.第一服務集群中的優先級最高的服務節點根據調用請求,進行服務調用處理。
169.在上述實施例的基礎上,該第一註冊中心53,用於分別與服務集群內的每個服務進行心跳機制處理,獲取或者更新第一時延表,第一時延表中包括每個服務對應的第一時間差。
170.根據第一服務集群下每個服務中服務節點的負載狀態,分別獲取每個服務對應的服務負載列表,並將每個服務對應的服務負載列表發送給跨集群註冊同步中心。
171.在上述實施例的基礎上,該第一註冊中心53,還用於:
172.向其他服務集群進行心跳機制處理,獲取第三時延表,並將第三時延表發送給跨集群註冊同步中心。
173.其中,第三時延表中包括每個服務集群對應的第三時間差。
174.圖7為本技術提供的一種跨集群註冊同步中心實施例五的結構示意圖,該跨集群註冊同步中心可以為上述任一基於服務集群系統的服務處理方法的跨集群註冊同步中心。具體的,如圖7所示,跨集群註冊同步中心60包括:對外網關61、內部伺服器62。
175.其中,對外網關61,用於獲取服務調用請求,服務調用請求包括:待調用的服務標識。
176.內部伺服器62,用於根據服務調用請求,查找獲取待調用的服務標識所在的服務集群列表。
177.內部伺服器62,還用於根據第二時延表和第三時延表,分別獲取服務集群列表中每個服務集群對應的第二時間差和第三時間差,並根據第二時間差和對應的權重、以及第三時間差和對應的權重,分別獲取每個服務集群的時延級別。
178.內部伺服器62,還用於根據服務負載排序列表,分別獲取待調用的服務標識在每個服務集群下對應的負載,並根據每個服務集群的時延級別和對應的權重,以及待調用的服務標識在每個服務集群下對應的負載和對應權重,獲取每個服務集群的優先級。
179.對外網關61,還用於將服務調用請求發送給優先級最高的服務集群,以供優先級最高服務集群根據服務調用請求,進行相應的服務調用處理。
180.本實施例中的跨集群註冊同步中心60可以執行上述方法實施例二或實施例四的,其實現原理和技術效果相類似,此處不再贅述。
181.在上述實施例的基礎上,內部伺服器62還用於:
182.與每個服務集群中的註冊中心進行心跳機制處理,獲取第二時延表,並將第二時延表分別發送給每個服務集群中的註冊中心;其中,第二時延包括每個服務集群對應的第二時間差。
183.分別獲取每個服務集群上報的第三時延表;其中,第三時延表為服務集群中的註冊中心向其他服務集群進行心跳機制處理而獲取的時延表。
184.在上述實施例的基礎上,內部伺服器62還用於:
185.分別獲取每個服務集群上報的服務集群下的每個服務對應的服務負載列表,並對相同服務進行整合,獲取服務負載排序列表。
186.圖8為本技術提供的一種服務集群系統實施例六的結構示意圖,如圖8所示,服務集群系統70包括:服務集群50、跨集群註冊同步中心60。
187.其中,服務集群50用於執行上如前述實施例一或實施例三提供的技術方案;跨集群註冊同步中心60用於執行上如前述實施例二或實施例四提供的技術方案。
188.本技術提供的一種服務集群,該伺服器包括:處理器,存儲器,以及通信接口;其中,存儲器用於存儲處理器可執行的可執行指令;處理器配置為經由執行可執行指令來執行前述實施例一或實施例三中的技術方案。可選的,存儲器既可以是獨立的,也可以跟處理器集成在一起。
189.可選的,當存儲器是獨立於處理器之外的器件時,服務集群還可以包括:總線,用於將上述器件連接起來。
190.該伺服器用於執行前述實施例一或實施例三中的技術方案,其實現原理和技術效果類似,在此不再贅述。
191.本技術提供的一種跨集群註冊同步中心,該電子設備包括:處理器,存儲器,以及通信接口;其中,存儲器用於存儲處理器可執行的可執行指令;處理器配置為經由執行可執行指令來執行前述實施例二或實施例四中的技術方案。
192.可選的,存儲器既可以是獨立的,也可以跟處理器集成在一起。
193.可選的,當存儲器是獨立於處理器之外的器件時,跨集群註冊同步中心還可以包括:總線,用於將上述器件連接起來。
194.該跨集群註冊同步中心用於執行前述實施例二或實施例四中的技術方案,其實現原理和技術效果類似,在此不再贅述。
195.本技術實施例提供一種可讀存儲介質,其上存儲有電腦程式,電腦程式被處理器執行時實現前述實施例一或實施例三提供的技術方案。
196.本技術實施例提供一種可讀存儲介質,其上存儲有電腦程式,電腦程式被處理器執行時實現前述實施例二或實施例四提供的技術方案。
197.本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成。前述的程序可以存儲於一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:rom、ram、磁碟或者光碟等各種可以存儲程序代碼的介質。
198.需要說明的是,本技術所涉及的用戶信息(包括但不限於用戶設備信息、用戶個人信息等)和數據(包括但不限於用於分析的數據、存儲的數據、展示的數據等),均為經用戶授權或者經過各方充分授權的信息和數據,並且相關數據的收集、使用和處理需要遵守相關國家和地區的相關法律法規和標準,並提供有相應的操作入口,供用戶選擇授權或者拒絕。
199.最後應說明的是:以上各實施例僅用以說明本技術的技術方案,而非對其限制;儘管參照前述各實施例對本技術進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或對其中部分或全部技術特徵進行等
同替換;而這些修改或替換,並不使相應技術方案的本質脫離本技術各實施例技術方案的範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀