1. 程式人生 > >SpringCloud微服務學習2-基礎服務消費者

SpringCloud微服務學習2-基礎服務消費者

    結合上節的內容, 我們建立了一個服務中心和一個服務提供者, 但是要想到,有服務提供者就會有服務的消費者,消費者的意思就是,呼叫其他服務(專案)提供的介面的專案。

這一節, 我們就先講基礎的服務消費者形式, 除了這種方式還有,ribbon 和fegin 的方式, 這一節, 我們著重講基礎的消費形式。 

使用LoadBancerClient   

在spring-cloud common 中提供了大量的抽象類, 例如DiscoverClient, 在這裡我們著重介紹LoadBanncerClient。

LoadBalancerClient介面的命名中,我們就知道這是一個負載均衡客戶端的抽象定義,下面我們就看看如何使用Spring Cloud提供的負載均衡器客戶端介面來實現服務的消費。(本段引自翟老師的部落格)

      好了, 我們看一下如何呼叫其他服務的介面。

      還是老樣子, 建立一個eureka的客戶端,叫做eureka-client1 , 為了和上一個服務提供者區分開, 我們就加了一個1,

建立完了以後, 要幹什麼呢, 肯定是配置檔案了啊

      spring.application.name 服務名稱

      server.port   服務的埠號

      eureka.client.serviceUrl.defaultZone 服務中心的地址

現在就是一個eurekaClient了, 由於我們上一個服務提供者沒有提供介面, 我們要建立一個, 隨便什麼都行

然後在服務消費方, 我們要在啟動類上面加上註解, @EnableDiscoverClient 或者 @EnableEurekaClient

接著由於我們呼叫介面時要用到 RestTemplate 所以我們在這裡要做一個類似於注入的操作

然後我們建立一個Controller 裡面要有LoadBanncerClient 和 RestTmplate 的例項, 直接看程式碼把

然後 我們使用loadBalancerClient根據服務的名稱獲取一個服務的例項, 然後根據例項提供的服務host, 埠進行對介面的呼叫,

restTemplate除了這個方法還提供了很多方法, 這裡僅僅是使用了get型別的方法, 具體的方法, 小夥伴們可以點開原始碼看一下

這個時候 我們在訪問 http://localhost:1003/dc (我的服務消費方使用的是1003埠) 我們可以看到

好了, 基礎消費者就此結束, 請等待下一篇文章:SpringCloud微服務學習3-ribbon

有問題歡迎下方留言,或者添加個人QQ 3024195466