Spring Cloud Eureka 入门 (三)服务消费者详解
2019獨角獸企業(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ù)注冊中心詳解
- Spring Cloud Eureka 入門 (二)服務(wù)提供者詳解
- Spring Cloud Eureka 入門 (三)服務(wù)消費者詳解
本文提綱
1. ?springcloud-eureka-sample 工程介紹
2. 運行 springcloud-eureka-client-customer 服務(wù)消費者工程
3. 詳解?springcloud-eureka-client-customer 服務(wù)消費者工程
一、springcloud-eureka-sample 工程介紹
?
還是回到Eureka 集群簡單架構(gòu)圖:
?
第一小節(jié)《Spring Cloud Eureka 入門 (一)服務(wù)注冊中心詳解》實現(xiàn)了 Eureka Server 作為注冊中心,
第二小節(jié)《Spring Cloud Eureka 入門 (二)服務(wù)提供者詳解》是 Provider Service B 的案例,實現(xiàn)了 Eureka Cleint 作為服務(wù)提供者,包括其服務(wù)的注冊和心跳的功能。
本小節(jié),是 Provider Service A 的案例,實現(xiàn)了 Eureka Cleint 作為服務(wù)消費者,包括其服務(wù)的注冊和心跳的功能,還有其服務(wù)發(fā)現(xiàn)和通過 Ribbon 進(jìn)行服務(wù)調(diào)用的功能。
springcloud-eureka-client-customer? 服務(wù)消費者工程,他本身也是一個服務(wù)提供者。即具有服務(wù)提供功能和服務(wù)消費功能。下面去運行該工程
二、運行?springcloud-eureka-client-customer 服務(wù)消費者工程
運行環(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ù)注冊中心詳解》 ,把注冊中心工程啟動完畢。
1.?git clone 下載工程?springcloud-learning-example
項目地址見 GitHub -?https://github.com/JeffLi1993/springcloud-learning-example:?
?
?
2. Maven 編譯安裝這個工程:
3. 運行 Eureka 工程?springcloud-eureka-client-customer
啟動?springcloud-eureka-client-customer 工程啟動類 CustomerApplication,啟動服務(wù)注冊中心工程。
EurekaServerApplication 類路徑:/springcloud-learning-example/springcloud-eureka-sample/springcloud-eureka-client-customer/src/main/java/org/spring/springcloud/CustomerApplication.java
?
控制臺 Console 看到這類信息,代表啟動成功:
可以看出,注冊了應(yīng)用名為?CUSTOMER-SERVICE 的應(yīng)用,該服務(wù)提供者的工程端口為 8081
4. 訪問?Eureka 注冊中心可視化界面
打開瀏覽器,訪問?http://localhost:8888/?,如圖所示:
?
可以看到,服務(wù)提供者向服務(wù)注冊中心注冊自己的實例,展示了應(yīng)用名和端口信息等。
5.訪問服務(wù)消費者案例
打開瀏覽器,訪問?http://localhost:8081/customer,如圖所示:?
?
?
可以看出,下面一句消息 Hello,Provider! ,是服務(wù)消費者調(diào)用服務(wù)提供者獲取的信息。
?
三、詳解?springcloud-eureka-client-customer 服務(wù)消費者工程
1.springcloud-eureka-client-customer 工程目錄結(jié)構(gòu)
ProviderApplication.java?Eureka Discovery Client 啟動類,啟動服務(wù)消費者工程,本身也會注冊到注冊中心,也能發(fā)現(xiàn)其他服務(wù)。
CustomerController.java?服務(wù)消費者 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ù)消費者應(yīng)用啟動類
@EnableDiscoveryClient 標(biāo)志該應(yīng)用作為?Eureka Client ,并會自動化讀取 Eureka 相關(guān)配置。還有向服務(wù)注冊中心發(fā)現(xiàn)服務(wù)并進(jìn)行調(diào)用。
@LoadBalanced 標(biāo)志著 RestTemplate 是通過?Ribbon 客戶端負(fù)載均衡去調(diào)用服務(wù)提供者集群的。即可以在獲取的服務(wù)提供者實例列表中,通過 Ribbon 進(jìn)行選擇某實例,然后調(diào)用該服務(wù)實例。
6.服務(wù)消費者 Hello World 案例
可以看到注入了?RestTemplate 對象,它是 HTTP 訪問操作類。
然后?customer 方法,通過 restTemplate 通過 HTTP 協(xié)議調(diào)用服務(wù)提供者暴露的?provider 接口,并獲取服務(wù)提供者的結(jié)果。然后組裝輸出。
四、小結(jié)
此小章節(jié)介紹了如何 Eureka 作為服務(wù)消費者,并向服務(wù)注冊中心注冊自己實例,更重要的是發(fā)現(xiàn)其他服務(wù),并調(diào)用其他服務(wù)。?
這是 Spring Cloud Eureka 入門系列完結(jié):
- Spring Cloud Eureka 入門 (一)服務(wù)注冊中心詳解
- Spring Cloud Eureka 入門 (二)服務(wù)提供者詳解
- Spring Cloud Eureka 入門 (三)服務(wù)消費者詳解
推薦:springcloud-learning-example?開源項目?https://github.com/JeffLi1993/ ... e.git
資料:
《Spring Cloud微服務(wù)實戰(zhàn)》
轉(zhuǎn)載于:https://my.oschina.net/jeffli1993/blog/1438913
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud Eureka 入门 (三)服务消费者详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Microsoft Office相关开发
- 下一篇: Spring MVC 4.1 支持jso