您好,登錄后才能下訂單哦!
Service-Center該如何使用入門,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
我們將介紹Service-Center使用入門。
ServiceCenter是一個服務注冊中心。服務提供者可以將自身的實例信息注冊到 ServiceCenter,以供服務消費者發現并使用它。
在微服務架構中,一個應用由一組職責單一化的服務組成,各個服務被動態的部署到不同的節點。面對這樣一組服務,應該如何去管理服務之間的依賴關系呢?
服務注冊中心的出現正是為了解決這樣的問題,它提供的注冊機制,允許服務提供者將自己的信息登記到中心;提供的發現機制,供服務消費者從中心查找服務提供者信息。
服務注冊中心優點:
1.解耦服務提供者與服務消費者,服務消費者不需要硬編碼服務提供者地址。
2.服務動態發現及可伸縮能力,服務提供者實例的動態增減能通過注冊中心動態推送到服務消費者端。
3.通過注冊中心可以動態的監控服務運行質量及服務依賴,為服務提供服務治理能力。
如上圖,Service-Center中服務發現流程大致有以下幾個步驟:
服務提供者向Service-Center注冊服務信息
服務提供者發送心跳,維持在Service-Center中的“UP”狀態
服務消費者向Service-Center注冊服務信息
服務消費者從Service-Center發現服務提供者信息
服務消費者向服務提供者發送請求,并獲取通訊結果
?Service-Center注冊發現接口基于RESTful標準實現,不受開發語言限制,實現對應接口可以參考官方API文檔:
https://rawcdn.githack.com/ServiceComb/service-center/master/docs/api-docs.html
?Service-Center提供了簡單注冊與發現的Client,其中封裝了API實現,可直接使用,具體可查看:
https://github.com/apache/servicecomb-service-center/tree/master/pkg/client/sc
為了更好的理解流程,下面我們將通過“helloword”的示例,實現基于Service-Center的注冊發現,并完成Consumer與Provider之間的通訊。
以下僅展示了主要流程代碼,完整示例請參考:
https://github.com/ChinX/service-center-demo/tree/simple-demo
創建名為“helloworld”的項目,以下為參考目錄結構:
新建服務提供端配置文件: helloworld/rest/provider/conf/microservice.yaml
新建項目入口文件: helloworld/rest/provider/provider.go
01.在main函數中完成啟動流程:
02.啟動服務提供端http監聽
03.向Service-Center注冊自身服務,其中包含微服務創建、實例注冊、心跳保活三個部分,具體代碼如下:
配置文件: helloworld/rest/provider/conf/microservice.yaml
入口文件: helloworld/rest/consumer/consumer.go
1.在main函數中完成啟動流程:
2.從Service-Center服務發現服務提供端,涉及創建服務、服務發現接口:
3.請求接口“/hello”完成與服務提供端的通訊
以下基于 go 1.11+ 進行構建,請檢測自身 go 環境。
進入 service-center-demo 目錄:
1. 安裝啟動 Service-Center
從Service-Center官網獲取二進制包:
http://servicecomb.apache.org/release/ ,解壓并運行二進制
執行如上命令并得到對應的反饋信息,則說明安裝部署成功。
2. 啟動 provider
輸出信息分析:
服務提供端啟動并監聽了本地8080端口
成功創建微服務服務,并打印了返回的serviceId
成功注冊自身實例,并打印了返回的instanceId
服務提供端在啟動30秒后,成功發送了一次心跳
3. 啟動 consumer
輸出信息分析:
服務消費端成功創建微服務服務,并打印了返回的serviceId
服務消費端成功發現provider實例,并打印了返回的provider endpoints
服務提供端成功向服務提供端發送請求,并獲得返回的信息“hello world”
此時查看provider端控制臺,若出現“2019/02/17 21:13:02 request from consumer”類似字樣的打印,則說明provider端接收到consumer端的請求,共同印證了通訊的成功。
關于Service-Center該如何使用入門問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。