溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Service-Center該如何使用入門

發(fā)布時間:2022-01-05 10:09:21 來源:億速云 閱讀:235 作者:柒染 欄目:云計算

Service-Center該如何使用入門,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

我們將介紹Service-Center使用入門。

一. Service-Center 是什么

ServiceCenter是一個服務注冊中心。服務提供者可以將自身的實例信息注冊到 ServiceCenter,以供服務消費者發(fā)現(xiàn)并使用它。

二. 為什么使用Service-Center

在微服務架構中,一個應用由一組職責單一化的服務組成,各個服務被動態(tài)的部署到不同的節(jié)點。面對這樣一組服務,應該如何去管理服務之間的依賴關系呢?

 Service-Center該如何使用入門

服務注冊中心的出現(xiàn)正是為了解決這樣的問題,它提供的注冊機制,允許服務提供者將自己的信息登記到中心;提供的發(fā)現(xiàn)機制,供服務消費者從中心查找服務提供者信息。 

服務注冊中心優(yōu)點:

1.解耦服務提供者與服務消費者,服務消費者不需要硬編碼服務提供者地址。

2.服務動態(tài)發(fā)現(xiàn)及可伸縮能力,服務提供者實例的動態(tài)增減能通過注冊中心動態(tài)推送到服務消費者端。

3.通過注冊中心可以動態(tài)的監(jiān)控服務運行質量及服務依賴,為服務提供服務治理能力。

三. 注冊發(fā)現(xiàn)流程Service-Center該如何使用入門

Service-Center該如何使用入門

如上圖,Service-Center中服務發(fā)現(xiàn)流程大致有以下幾個步驟:

  • 服務提供者向Service-Center注冊服務信息

  • 服務提供者發(fā)送心跳,維持在Service-Center中的“UP”狀態(tài)

  • 服務消費者向Service-Center注冊服務信息

  • 服務消費者從Service-Center發(fā)現(xiàn)服務提供者信息

  • 服務消費者向服務提供者發(fā)送請求,并獲取通訊結果

Service-Center該如何使用入門

?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

四. 使用Service-Center

為了更好的理解流程,下面我們將通過“helloword”的示例,實現(xiàn)基于Service-Center的注冊發(fā)現(xiàn),并完成Consumer與Provider之間的通訊。


以下僅展示了主要流程代碼,完整示例請參考:

https://github.com/ChinX/service-center-demo/tree/simple-demo

1.目錄參考

創(chuàng)建名為“helloworld”的項目,以下為參考目錄結構:

Service-Center該如何使用入門Service-Center該如何使用入門

2. 服務提供端實現(xiàn)

新建服務提供端配置文件: helloworld/rest/provider/conf/microservice.yaml

Service-Center該如何使用入門Service-Center該如何使用入門

新建項目入口文件: helloworld/rest/provider/provider.go

01.在main函數(shù)中完成啟動流程:

Service-Center該如何使用入門

02.啟動服務提供端http監(jiān)聽

Service-Center該如何使用入門

03.向Service-Center注冊自身服務,其中包含微服務創(chuàng)建、實例注冊、心跳?;钊齻€部分,具體代碼如下:

Service-Center該如何使用入門Service-Center該如何使用入門

3. 服務消費端實現(xiàn)Service-Center該如何使用入門

配置文件: helloworld/rest/provider/conf/microservice.yaml

Service-Center該如何使用入門Service-Center該如何使用入門

入口文件: helloworld/rest/consumer/consumer.go

1.在main函數(shù)中完成啟動流程:

Service-Center該如何使用入門Service-Center該如何使用入門

2.從Service-Center服務發(fā)現(xiàn)服務提供端,涉及創(chuàng)建服務、服務發(fā)現(xiàn)接口:

Service-Center該如何使用入門

3.請求接口“/hello”完成與服務提供端的通訊

Service-Center該如何使用入門

4. 構建編譯

以下基于 go 1.11+ 進行構建,請檢測自身 go 環(huán)境。
進入 service-center-demo 目錄:

Service-Center該如何使用入門

五. 功能驗證

1. 安裝啟動 Service-Center

從Service-Center官網(wǎng)獲取二進制包:

http://servicecomb.apache.org/release/ ,解壓并運行二進制

Service-Center該如何使用入門

執(zhí)行如上命令并得到對應的反饋信息,則說明安裝部署成功。

2. 啟動 provider

Service-Center該如何使用入門

輸出信息分析:

服務提供端啟動并監(jiān)聽了本地8080端口

成功創(chuàng)建微服務服務,并打印了返回的serviceId

成功注冊自身實例,并打印了返回的instanceId

服務提供端在啟動30秒后,成功發(fā)送了一次心跳

Service-Center該如何使用入門

3. 啟動 consumer

Service-Center該如何使用入門

輸出信息分析:

服務消費端成功創(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è)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI