javascript
Spring Cloud Eureka 入门 (三)服务消费者详解
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
摘要: 原創(chuàng)出處:www.bysocket.com 泥瓦匠BYSocket 希望轉(zhuǎn)載,保留摘要,謝謝!
“真正的進(jìn)步,不在于學(xué)習(xí),而在于反思”
?
「Spring Cloud Eureka 入門系列」
- Spring Cloud Eureka 入門 (一)服務(wù)注冊(cè)中心詳解
- Spring Cloud Eureka 入門 (二)服務(wù)提供者詳解
- Spring Cloud Eureka 入門 (三)服務(wù)消費(fèi)者詳解
本文提綱
1. ?springcloud-eureka-sample 工程介紹
2. 運(yùn)行 springcloud-eureka-client-customer 服務(wù)消費(fèi)者工程
3. 詳解?springcloud-eureka-client-customer 服務(wù)消費(fèi)者工程
一、springcloud-eureka-sample 工程介紹
?
還是回到Eureka 集群簡(jiǎn)單架構(gòu)圖:
?
第一小節(jié)《Spring Cloud Eureka 入門 (一)服務(wù)注冊(cè)中心詳解》實(shí)現(xiàn)了 Eureka Server 作為注冊(cè)中心,
第二小節(jié)《Spring Cloud Eureka 入門 (二)服務(wù)提供者詳解》是 Provider Service B 的案例,實(shí)現(xiàn)了 Eureka Cleint 作為服務(wù)提供者,包括其服務(wù)的注冊(cè)和心跳的功能。
本小節(jié),是 Provider Service A 的案例,實(shí)現(xiàn)了 Eureka Cleint 作為服務(wù)消費(fèi)者,包括其服務(wù)的注冊(cè)和心跳的功能,還有其服務(wù)發(fā)現(xiàn)和通過 Ribbon 進(jìn)行服務(wù)調(diào)用的功能。
springcloud-eureka-client-customer? 服務(wù)消費(fèi)者工程,他本身也是一個(gè)服務(wù)提供者。即具有服務(wù)提供功能和服務(wù)消費(fèi)功能。下面去運(yùn)行該工程
二、運(yùn)行?springcloud-eureka-client-customer 服務(wù)消費(fèi)者工程
運(yùn)行環(huán)境:JDK 7 或 8,Maven 3.0+
技術(shù)棧:Spring Cloud?Dalston.SR1、?spring-cloud-netflix 1.3.1、Spring Boot 1.5.4
自然,我們先得去上一小節(jié)《Spring Cloud Eureka 入門 (一)服務(wù)注冊(cè)中心詳解》 ,把注冊(cè)中心工程啟動(dòng)完畢。
1.?git clone 下載工程?springcloud-learning-example
項(xiàng)目地址見 GitHub -?https://github.com/JeffLi1993/springcloud-learning-example:?
?
?
2. Maven 編譯安裝這個(gè)工程:
3. 運(yùn)行 Eureka 工程?springcloud-eureka-client-customer
啟動(dòng)?springcloud-eureka-client-customer 工程啟動(dòng)類 CustomerApplication,啟動(dòng)服務(wù)注冊(cè)中心工程。
EurekaServerApplication 類路徑:/springcloud-learning-example/springcloud-eureka-sample/springcloud-eureka-client-customer/src/main/java/org/spring/springcloud/CustomerApplication.java
?
控制臺(tái) Console 看到這類信息,代表啟動(dòng)成功:
可以看出,注冊(cè)了應(yīng)用名為?CUSTOMER-SERVICE 的應(yīng)用,該服務(wù)提供者的工程端口為 8081
4. 訪問?Eureka 注冊(cè)中心可視化界面
打開瀏覽器,訪問?http://localhost:8888/?,如圖所示:
?
可以看到,服務(wù)提供者向服務(wù)注冊(cè)中心注冊(cè)自己的實(shí)例,展示了應(yīng)用名和端口信息等。
5.訪問服務(wù)消費(fèi)者案例
打開瀏覽器,訪問?http://localhost:8081/customer,如圖所示:?
?
?
可以看出,下面一句消息 Hello,Provider! ,是服務(wù)消費(fèi)者調(diào)用服務(wù)提供者獲取的信息。
?
三、詳解?springcloud-eureka-client-customer 服務(wù)消費(fèi)者工程
1.springcloud-eureka-client-customer 工程目錄結(jié)構(gòu)
ProviderApplication.java?Eureka Discovery Client 啟動(dòng)類,啟動(dòng)服務(wù)消費(fèi)者工程,本身也會(huì)注冊(cè)到注冊(cè)中心,也能發(fā)現(xiàn)其他服務(wù)。
CustomerController.java?服務(wù)消費(fèi)者 HelloWorld 案例
application.yml 配置文件
?
2. pom.xml 配置
使用的依賴是
- spring-cloud-netflix 1.3.1 是 Spring Cloud?Dalston.SR1 版本。
-?spring-cloud-starter-eureka Eureka Client 模塊依賴,包含了客戶端 client 的依賴,還有 Ribbon 的依賴,如:org.springframework.cloud:spring-cloud-netflix-eureka-client:1.3.1.RELEASE
org.springframework.cloud:spring-cloud-starter-ribbon:1.3.1.RELEASE
?
3. application.yml 配置
4.服務(wù)消費(fèi)者應(yīng)用啟動(dòng)類
@EnableDiscoveryClient 標(biāo)志該應(yīng)用作為?Eureka Client ,并會(huì)自動(dòng)化讀取 Eureka 相關(guān)配置。還有向服務(wù)注冊(cè)中心發(fā)現(xiàn)服務(wù)并進(jìn)行調(diào)用。
@LoadBalanced 標(biāo)志著 RestTemplate 是通過?Ribbon 客戶端負(fù)載均衡去調(diào)用服務(wù)提供者集群的。即可以在獲取的服務(wù)提供者實(shí)例列表中,通過 Ribbon 進(jìn)行選擇某實(shí)例,然后調(diào)用該服務(wù)實(shí)例。
6.服務(wù)消費(fèi)者 Hello World 案例
可以看到注入了?RestTemplate 對(duì)象,它是 HTTP 訪問操作類。
然后?customer 方法,通過 restTemplate 通過 HTTP 協(xié)議調(diào)用服務(wù)提供者暴露的?provider 接口,并獲取服務(wù)提供者的結(jié)果。然后組裝輸出。
四、小結(jié)
此小章節(jié)介紹了如何 Eureka 作為服務(wù)消費(fèi)者,并向服務(wù)注冊(cè)中心注冊(cè)自己實(shí)例,更重要的是發(fā)現(xiàn)其他服務(wù),并調(diào)用其他服務(wù)。?
這是 Spring Cloud Eureka 入門系列完結(jié):
- Spring Cloud Eureka 入門 (一)服務(wù)注冊(cè)中心詳解
- Spring Cloud Eureka 入門 (二)服務(wù)提供者詳解
- Spring Cloud Eureka 入門 (三)服務(wù)消費(fèi)者詳解
推薦:springcloud-learning-example?開源項(xiàng)目?https://github.com/JeffLi1993/ ... e.git
資料:
《Spring Cloud微服務(wù)實(shí)戰(zhàn)》
轉(zhuǎn)載于:https://my.oschina.net/jeffli1993/blog/1438913
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud Eureka 入门 (三)服务消费者详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Microsoft Office相关开发
- 下一篇: 是什么优化让 .NET Core 性能飙