本發明專利技術公開了一種服務器服務發現的方法和系統,該方法包括:后臺服務器向ETCD服務器注冊;ETCD服務器接收后臺服務器的注冊信息,并形成拓撲結構圖;前臺服務器從ETCD服務器調用服務;ETCD服務器搜索所述服務所對應的后臺服務器;ETCD服務器獲取服務的路徑信息;前臺服務器從ETCD服務器獲取服務。本發明專利技術技術方案能夠對分布式系統中的服務進行有效的管理,迅速實現服務發現功能,并且快速實現服務的調用,適合分布式系統的架構,對于提高分布式系統和服務的運行效率、保持分布式服務器系統的穩定運行、提供了可靠的技術保障。
【技術實現步驟摘要】
一種服務器服務發現的方法和系統
本專利技術涉及互聯網
,特別涉及一種服務器服務發現的方法和系統。
技術介紹
在云計算時代,如何讓服務快速透明地接入到計算集群中,如何讓共享配置信息快速被集群中的所有機器發現,更為重要的是,如何構建這樣一套高可用、安全、易于部署以及響應快速的服務集群,已經成為了迫切需要解決的問題。ETCD為解決這類問題提供了有效的方案。ETCD應用在分布式環境下的key/value存儲服務,是一個高可用的鍵值存儲系統,主要用于共享配置和服務發現。利用ETCD的特性,應用程序可以在集群中共享信息、配置或服務發現,ETCD會在集群的各個節點中復制這些數據并保證這些數據始終正確。Google的容器集群管理系統Kubernetes、開源PaaS平臺CloudFoundry和CoreOS的Fleet都廣泛使用了ETCD。ETCD具有如下的優點:簡單:基于HTTP+JSON的API方便用戶使用;安全:可選SSL客戶認證機制;快速:每個實例每秒支持一千次寫操作;可信:使用Raft算法充分實現了分布式系統架構的一致性。在分布式系統中,服務和配置分布在不同的服務器上,以網絡上分散分布的操作指令及受其影響的數據庫來提供數據的操作。分布式有利于任務在整個服務器系統上進行分配與優化,克服了傳統集中式系統會導致中心主機資源緊張與響應瓶頸的缺陷,解決了網絡中存在的數據異構、數據共享、運算共享等問題;分布式集群服務器系統具有經濟成本低的優勢,一般是由成本低廉的PC服務器組成的集群,在性能方面能夠達到或超越大型機的處理性能,在成本上遠低于大型機,有利于降低網絡服務器的經濟成本;而且,分布式系統有良好的可擴展性,可以通過增加服務器數量來增強分布式系統整體的處理能力,以應對企業的業務增長帶來的計算需求。但是,分布式集群服務器系統對服務發現提出了更高的要求。在一個分布式集群系統中,不同的服務分布在不同的服務器上,需求端通過統一的接入接口接入分布式系統,來調取不同的服務;分布式系統要能夠迅速對服務進行尋址,應該能夠對任何一個應用的實例能夠以編程的方式獲取當前環境的細節,能夠為新的實例嵌入到現有的應用環境而不需要人工干預。這就需要簡化服務發現的步驟,快速實現服務發現,以提高分布式集群系統的效率和運行穩定性。
技術實現思路
本專利技術提供一種服務器服務發現的方法和系統,有效對分布式系統中的服務進行管理,迅速實現服務發現功能,并且快速實現服務的調用,適合分布式系統的架構,對于提高分布式系統和服務的運行效率、保持分布式服務器系統的穩定運行、提供了可靠的技術保障。本專利技術的技術方案提供了一種服務器服務發現的方法,包括以下步驟:后臺服務器向ETCD服務器注冊;ETCD服務器接收后臺服務器的注冊信息,并形成拓撲結構圖;前臺服務器從ETCD服務器調用服務;ETCD服務器搜索所述服務所對應的后臺服務器;ETCD服務器獲取服務的路徑信息;前臺服務器從ETCD服務器獲取服務。進一步的,上一級服務器為母節點,下一級服務器為子節點;所述注冊信息包括但不限于本服務器的編號,母節點服務器,子節點服務器,本服務器所共享的服務。進一步的,ETCD服務器及后臺服務器采用樹形結構;子節點服務器對應一臺母節點服務器,母節點服務器對應不少于一臺子節點服務器;ETCD服務器無母節點。進一步的,所述拓撲結構圖,包括每臺服務器的母節點和子節點的信息;根據所述拓撲結構圖,ETCD服務器可以路由所有后臺服務器,并獲取到達每一臺后臺服務器的路徑;所述路徑是指從ETCD服務器最終到達目標服務器所路由經過的每一級服務器的名稱或編號。進一步的,前臺服務器根據所述服務的名稱來調用服務;ETCD服務器支持所述服務的名稱的模糊查詢和調用。進一步的,每臺后臺服務器對應不少于一個服務,每個服務對應一臺后臺服務器;ETCD服務器根據服務的名稱查找對應的后臺服務器;進一步的,ETCD服務器根據所對應的后臺服務器的地址,獲取路徑信息;ETCD服務器根據所述查找的路徑信息調用該服務。本專利技術的技術方案還提供了一種服務器服務發現的系統,包括:后臺服務器,ETCD服務器,前臺服務器,其中,后臺服務器用于向ETCD服務器注冊,并共享服務;ETCD服務器用于接受后臺服務器的注冊,記錄分布式集群服務器的網絡拓撲結構,記錄后臺服務器的路徑信息,記錄后臺服務器和服務的對應關系,以及根據前臺服務器的指令調用服務;前臺服務器用于向ETCD服務器調取和獲取服務。進一步的,ETCD服務器和后臺服務器采用樹形的拓撲結構。進一步的,后臺服務器提供服務共享;每臺后臺服務器對應不少于一個服務,一個服務對應唯一一臺后臺服務器。本專利技術技術方案設計采用專用的工作機制來管理分布式系統中的服務器和服務的配置,為服務的快速運算提供了良好的硬件環境,能夠對分布式系統中的服務進行有效管理,迅速實現服務發現功能,并且快速實現服務的調用,適合分布式系統的架構,對于提高分布式系統和服務的運行效率、保持分布式服務器系統的穩定運行提供了可靠的技術保障。本專利技術的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本專利技術而了解。本專利技術的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。下面通過附圖和實施例,對本專利技術的技術方案做進一步的詳細描述。附圖說明附圖用來提供對本專利技術的進一步理解,并且構成說明書的一部分,與本專利技術的實施例一起用于解釋本專利技術,并不構成對本專利技術的限制。在附圖中:圖1為本專利技術實施例一中服務器服務發現的方法流程圖;圖2為本專利技術實施例一中服務器服務發現的系統結構圖。具體實施方式以下結合附圖對本專利技術的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本專利技術,并不用于限定本專利技術。圖1為本專利技術實施例一中服務器服務發現的方法流程圖。如圖1所示,該流程包括以下步驟:步驟101、后臺服務器向ETCD服務器注冊。后臺服務器在啟動或宕機重啟的情況下,向ETCD服務器進行注冊;注冊后,該服務器所對應的服務即開始運行,處在可提供服務的狀態。步驟102、ETCD服務器接收后臺服務器的注冊信息,并形成拓撲結構圖。所述注冊信息包括但不限于本服務器的編號,母節點服務器,子節點服務器,本服務器所共享的服務;其中,后臺服務器的上一級服務器為母節點,下一級服務器為子節點;ETCD服務器及后臺服務器采用樹形結構;子節點服務器對應一臺母節點服務器,母節點服務器對應不少于一臺子節點服務器,ETCD服務器無母節點;ETCD接收到注冊信息后,根據每臺后臺服務器所發送的母節點、子節點信息形成網絡拓撲結構圖;根據所述拓撲結構圖,ETCD服務器可以路由所有后臺服務器,并獲取到達每一臺后臺服務器的路徑;所述路徑是指從ETCD服務器最終到達目標服務器所路由經過的每一級服務器的名稱或編號。步驟103、前臺服務器從ETCD服務器調用服務。前臺服務器根據所述服務的名稱來調用服務;ETCD服務器支持所述服務的名稱的模糊查詢和調用。步驟104、ETCD服務器搜索所述服務所對應的后臺服務器。每臺后臺服務器對應不少于一個服務,每個服務對應一臺后臺服務器;ETCD服務器根據服務的名稱查找該服務所對應的后臺服務器。步驟10本文檔來自技高網...

【技術保護點】
一種服務器服務發現的方法,其特征在于,包括以下步驟:后臺服務器向ETCD服務器注冊;ETCD服務器接收后臺服務器的注冊信息,并形成拓撲結構圖;前臺服務器從ETCD服務器調用服務;ETCD服務器搜索所述服務所對應的后臺服務器;ETCD服務器獲取服務的路徑信息;前臺服務器從ETCD服務器獲取服務。
【技術特征摘要】
1.一種服務器服務發現的方法,其特征在于,包括以下步驟:后臺服務器向ETCD服務器注冊;ETCD服務器接收后臺服務器的注冊信息,并形成拓撲結構圖;前臺服務器從ETCD服務器調用服務;ETCD服務器搜索所述服務所對應的后臺服務器;ETCD服務器獲取服務的路徑信息;前臺服務器從ETCD服務器獲取服務。2.根據權利要求1所述的方法,其特征在于,進一步包括:上一級服務器為母節點,下一級服務器為子節點;所述注冊信息包括但不限于本服務器的編號,母節點服務器,子節點服務器,本服務器所共享的服務。3.根據權利要求1所述的方法,其特征在于,進一步包括:ETCD服務器及后臺服務器采用樹形結構;子節點服務器對應一臺母節點服務器,母節點服務器對應不少于一臺子節點服務器;ETCD服務器無母節點。4.根據權利要求1所述的方法,其特征在于,進一步包括:所述拓撲結構圖,包括每臺服務器的母節點和子節點的信息;根據所述拓撲結構圖,ETCD服務器可以路由所有后臺服務器,并獲取到達每一臺后臺服務器的路徑;所述路徑是指從ETCD服務器最終到達目標服務器所路由經過的每一級服務器的名稱或編號。5.根據權利要求1所述的方法,其特征在于,所述前臺服務器從ETCD服務器調用服務...
【專利技術屬性】
技術研發人員:張鵬鵬,
申請(專利權)人:天脈聚源北京科技有限公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。