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