国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Spring Cloud Eureka 入門之服務消費者詳解

企業(yè)動態(tài)
此小章節(jié)介紹了如何 Eureka 作為服務消費者,并向服務注冊中心注冊自己實例,更重要的是發(fā)現(xiàn)其他服務,并調用其他服務。

[[200512]]

本文提綱

1. springcloud-eureka-sample 工程介紹

2. 運行 springcloud-eureka-client-customer 服務消費者工程

3. 詳解 springcloud-eureka-client-customer 服務消費者工程

一、springcloud-eureka-sample 工程介紹

還是回到Eureka 集群簡單架構圖:

 

***小節(jié)《Spring Cloud Eureka 入門之服務注冊中心詳解 ...》實現(xiàn)了 Eureka Server 作為注冊中心,

第二小節(jié)《Spring Cloud Eureka 入門 (二)服務提供者詳解》是 Provider Service B 的案例,實現(xiàn)了 Eureka Cleint 作為服務提供者,包括其服務的注冊和心跳的功能。

本小節(jié),是 Provider Service A 的案例,實現(xiàn)了 Eureka Cleint 作為服務消費者,包括其服務的注冊和心跳的功能,還有其服務發(fā)現(xiàn)和通過 Ribbon 進行服務調用的功能。

springcloud-eureka-client-customer 服務消費者工程,他本身也是一個服務提供者。即具有服務提供功能和服務消費功能。下面去運行該工程

二、運行 springcloud-eureka-client-customer 服務消費者工程

運行環(huán)境:JDK 7 或 8,Maven 3.0+

技術棧:Spring Cloud Dalston.SR1、 spring-cloud-netflix 1.3.1、Spring Boot 1.5.4

自然,我們先得去上一小節(jié)《Spring Cloud Eureka 入門 (一)服務注冊中心詳解》 ,把注冊中心工程啟動完畢。

1. git clone 下載工程 springcloud-learning-example

項目地址見 GitHub - https://github.com/JeffLi1993/springcloud-learning-example

  1. git clone https://github.com/JeffLi1993/springcloud-learning-example.git 

2. Maven 編譯安裝這個工程:

  1. cd springcloud-learning-example 
  2. mvn clean install 

3. 運行 Eureka 工程 springcloud-eureka-client-customer

啟動 springcloud-eureka-client-customer 工程啟動類 CustomerApplication,啟動服務注冊中心工程。

EurekaServerApplication 類路徑:/springcloud-learning-example/springcloud-eureka-sample/springcloud-eureka-client-customer/src/main/java/org/spring/springcloud/CustomerApplication.java

控制臺 Console 看到這類信息,代表啟動成功:

  1. 2017-07-12 18:19:21.725  INFO 11314 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_CUSTOMER-SERVICE/10.18.29.64:customer-service:8081: registering service... 
  2. 2017-07-12 18:19:21.814  INFO 11314 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_CUSTOMER-SERVICE/10.18.29.64:customer-service:8081 - registration status:  
  3. 2042017-07-12 18:19:21.916  INFO 11314 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8081 (http) 
  4. 2017-07-12 18:19:21.918  INFO 11314 --- [           main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8081 
  5. 2017-07-12 18:19:21.925  INFO 11314 --- [           main] o.s.springcloud.CustomerApplication      : Started CustomerApplication in 17.075 seconds (JVM running for 18.141) 

可以看出,注冊了應用名為 CUSTOMER-SERVICE 的應用,該服務提供者的工程端口為 8081

4. 訪問 Eureka 注冊中心可視化界面

打開瀏覽器,訪問 http://localhost:8888/ ,如圖所示:

可以看到,服務提供者向服務注冊中心注冊自己的實例,展示了應用名和端口信息等。

5.訪問服務消費者案例

打開瀏覽器,訪問 http://localhost:8081/customer,如圖所示:

可以看出,下面一句消息 Hello,Provider! ,是服務消費者調用服務提供者獲取的信息。

三、詳解 springcloud-eureka-client-customer 服務消費者工程

1.springcloud-eureka-client-customer 工程目錄結構

  1. ├── pom.xml└── src 
  2.     └── main 
  3.         ├── java 
  4.         │   └── org 
  5.         │       └── spring 
  6.         │           ├── springcloud 
  7.         │           │    └──  CustomerApplication.java 
  8.         │           └── web 
  9.         │                └──  CustomerController.java 
  10.         └── resources 
  11.             └── application.yml 

ProviderApplication.java Eureka Discovery Client 啟動類,啟動服務消費者工程,本身也會注冊到注冊中心,也能發(fā)現(xiàn)其他服務。

CustomerController.java 服務消費者 HelloWorld 案例

application.yml 配置文件

2. pom.xml 配置

  1. <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  2.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma ... gt%3B 
  3.     <modelVersion>4.0.0</modelVersion>    <groupId>springcloud</groupId>     
  4. <artifactId>springcloud-eureka-client-customer</artifactId>     
  5. <version>0.0.1-SNAPSHOT</version>     
  6. <name>springcloud-eureka-client-customer :: 服務消費者</name>  
  7.  
  8.    <!-- Spring Boot 啟動父依賴 --> 
  9.     <parent> 
  10.         <groupId>org.springframework.boot</groupId>         
  11.    <artifactId>spring-boot-starter-parent</artifactId>        
  12.     <version>1.5.4.RELEASE</version>     
  13.     </parent> 
  14.  
  15.  
  16.  
  17.     <dependencies> 
  18.         <!-- Spring Cloud Netflix Eureka 依賴 --> 
  19.         <dependency> 
  20.             <groupId>org.springframework.cloud</groupId>             
  21.    <artifactId>spring-cloud-starter-eureka</artifactId>        </dependency> 
  22.  
  23.  
  24.         <!-- Spring Boot Test 依賴 --> 
  25.         <dependency> 
  26.             <groupId>org.springframework.boot</groupId>  
  27.               <artifactId>spring-boot-starter-test</artifactId>  
  28.               <scope>test</scope>        
  29.                </dependency> 
  30.     </dependencies> 
  31.  
  32.  
  33.     <dependencyManagement> 
  34.         <dependencies> 
  35.                            <!-- Spring Cloud Netflix 依賴 --> 
  36.             <dependency> 
  37.                 <groupId>org.springframework.cloud</groupId>  
  38.                                           
  39.                                          <artifactId>spring-cloud-netflix</artifactId>               
  40.                                            <version>1.3.1.RELEASE</version>               
  41.                                              <type>pom</type> 
  42.                                                              <scope>import</scope>            
  43.                                                               </dependency> 
  44.         </dependencies> 
  45.  
  46.  
  47.     </dependencyManagement> 
  48.     <build> 
  49.         <plugins> 
  50.             <plugin> 
  51.  
  52.  
  53.                 <groupId>org.apache.maven.plugins</groupId>  
  54.                                                                              <artifactId>maven-compiler-plugin</artifactId>              
  55.                                                                                 <configuration> 
  56.  
  57.  
  58.                     <source>1.8</source>     
  59.                                                                                                 <target>1.8</target>   
  60.                                                                                                               </configuration> 
  61.  
  62.  
  63.             </plugin> 
  64.         </plugins> 
  65.     </build></project> 

使用的依賴是

- 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 配置

  1. server: 
  2.   port: 8081 # 服務端口 
  3.  
  4. eureka: 
  5.   client: 
  6.     service-url: 
  7.       defaultZone: http://localhost:8888/eureka/ # 服務注冊中心地址 
  8.  
  9. spring: 
  10.   application: 
  11.     name: customer-service # 服務名稱 
  12.  
  13.  
  14. - server.port 設置工程服務端口 
  15. - eureka.client.service-url.defaultZone 設置服務注冊中心地址 

4.服務消費者應用啟動類

  1. /** 
  2.  * Spring Boot Eureka Server 應用啟動類 
  3.  * 
  4.  * Created by bysocket on 21/06/17. 
  5.  */ 
  6.  
  7.   
  8. @EnableDiscoveryClient // Eureka Discovery Client 標識 
  9. @SpringBootApplication // Spring Boot 應用標識 
  10.  
  11. public class CustomerApplication {     
  12. @Bean 
  13.     @LoadBalanced 
  14.     RestTemplate restTemplate() {         
  15. return new RestTemplate(); 
  16.     }     
  17.  
  18. public static void main(String args) {         
  19. // 程序啟動入口 
  20.          
  21. // 啟動嵌入式的 Tomcat 并初始化 Spring 環(huán)境及其各 Spring 組件 
  22.         SpringApplication.run(CustomerApplication.class,args); 
  23.     } 

@EnableDiscoveryClient 標志該應用作為 Eureka Client ,并會自動化讀取 Eureka 相關配置。還有向服務注冊中心發(fā)現(xiàn)服務并進行調用。

@LoadBalanced 標志著 RestTemplate 是通過 Ribbon 客戶端負載均衡去調用服務提供者集群的。即可以在獲取的服務提供者實例列表中,通過 Ribbon 進行選擇某實例,然后調用該服務實例。

6.服務消費者 Hello World 案例

  1. /** 
  2.  * Customer HelloWorld 案例 
  3.  * <p> 
  4.  * Created by bysocket on 06/22/17. 
  5.  */ 
  6.  
  7.   
  8. @RestController 
  9.  
  10. public class CustomerController {     
  11.  
  12. private static final Logger LOGGER = LoggerFactory.getLogger(CustomerController.class);     
  13.  
  14. @Autowired 
  15.     private RestTemplate restTemplate; // HTTP 訪問操作類 
  16.  
  17.  
  18.     @RequestMapping("/customer")     
  19.  
  20. public String customer() { 
  21.  
  22.         String providerMsg = restTemplate.getForEntity("http://PROVIDER-SERVICE/provider"
  23.                 String.class).getBody();         
  24.  
  25.          
  26.  
  27.         return "Hello,Customer! msg from provider : <br/><br/> " + providerMsg; 
  28.     } 

可以看到注入了 RestTemplate 對象,它是 HTTP 訪問操作類。

然后 customer 方法,通過 restTemplate 通過 HTTP 協(xié)議調用服務提供者暴露的 provider 接口,并獲取服務提供者的結果。然后組裝輸出。

四、小結

此小章節(jié)介紹了如何 Eureka 作為服務消費者,并向服務注冊中心注冊自己實例,更重要的是發(fā)現(xiàn)其他服務,并調用其他服務。

【本文為51CTO專欄作者“李強強”的原創(chuàng)稿件,轉載請通過51CTO聯(lián)系作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2017-07-11 14:48:33

Spring Clou服務提供者

2017-07-03 08:29:42

Spring Clou服務詳解

2022-07-07 09:00:49

RocketMQ消費者消息消費

2024-07-10 10:51:39

SpringEureka數(shù)據(jù)中心

2023-06-01 08:08:38

kafka消費者分區(qū)策略

2015-08-26 09:39:30

java消費者

2017-06-26 09:06:10

Spring Clou微服務架構

2022-08-08 10:55:31

5G物聯(lián)網(wǎng)智能手機

2011-08-05 16:21:24

2011-07-22 16:25:38

CA TechnoloIT消費化

2017-06-25 13:33:25

Spring Clou微服務架構

2009-08-13 13:14:31

C#生產(chǎn)者和消費者

2021-04-20 08:32:51

消息MQ隊列

2017-08-10 11:15:05

Spring Clou微服務架構

2017-08-09 15:50:47

Spring Clou微服務架構

2015-06-15 11:29:34

數(shù)據(jù)中心綠色數(shù)據(jù)中心

2021-12-22 11:00:05

模型Golang語言

2021-01-14 07:54:19

Spring Clou應用路由

2013-03-15 10:45:42

戴爾服務

2009-04-15 11:17:23

點贊
收藏

51CTO技術棧公眾號

美女av免费观看| 最近中文字幕免费mv2018在线| 国产成人一区| 日韩精品一区国产麻豆| 中文字幕www| 美国三级日本三级久久99| 日本一欧美一欧美一亚洲视频| 天堂av在线| 在线观看网站黄不卡| 簧片在线免费看| 国产一区二区三区免费| www.久久久| 亚洲视频分类| 影音先锋欧美精品| 99视频免费在线观看| 亚洲第一福利一区| 人妻有码中文字幕| 久草在线在线精品观看| 超碰97人人人人人蜜桃| 麻豆精品少妇| 精品国内亚洲在观看18黄 | 黄av在线免费观看| 亚洲视频在线一区二区| 国产91沈先生在线播放| 亚洲欧美清纯在线制服| 国产日韩欧美影视| 欧美a大片欧美片| 欧美成人精品激情在线观看 | 精品美女视频在线观看免费软件| 国产亚洲精品bt天堂精选| 黄色一级片黄色| 另类人妖一区二区av| 久久综合一区二区三区| 欧美色综合网| 97影院在线午夜| 久久免费精品视频在这里| 欧洲一区二区视频| 日韩aaa久久蜜桃av| 69av成年福利视频| 欧美激情15p| 欧美综合第一页| 精品中文一区| 国产精品视频自拍| 亚洲一级毛片| 国产视色精品亚洲一区二区| jizzjizz欧美69巨大| 国产精品18久久久久久麻辣| 日韩在线麻豆| 国产精品爽爽ⅴa在线观看| 亚洲va久久| 日韩av男人的天堂| 97精品国产| 国产麻豆一区二区三区在线观看| 国产精品日韩精品欧美精品| 视频一区二区精品| 国产成人综合网| 国产亚洲欧美在线视频| 亚洲国产精品t66y| 中文字幕av网| 91国在线观看| 麻豆网站在线免费观看| 国产一区 二区| 国产精品黄色片| 欧美日韩高清在线一区| 日韩午夜电影av| 精品视频999| 成人av一区二区三区| 日韩二区三区四区| 福利片在线看| 国产精品私拍pans大尺度在线| 国产一区在线看| 国产亚av手机在线观看| 国产精品手机在线| 亚洲一级二级在线| 中文字幕区一区二区三| 欧美在线激情| 久久久这里只有精品视频| 国产欧美一区二区精品性色| 欧美精品一区二区久久| 91欧美精品午夜性色福利在线| 国产精品av一区二区| av超碰在线| 狠狠爱一区二区三区| 91福利在线看| 久久综合五月天婷婷伊人| 欧美午夜一区| 最新亚洲精品| 国产亚洲欧美日韩在线观看一区二区 | 欧美久久久久久一卡四| 一本一道波多野结衣一区二区| 狠狠色丁香久久婷婷综| 国内在线免费高清视频| 久久国产精品影片| 亚洲精品免费看| 国产精品美女| 777午夜精品电影免费看| 91在线看www| 在线视频观看一区| 26uuu色噜噜精品一区| 高清免费成人av| 亚洲精品aa| 性综艺节目av在线播放| 日本高清视频一区二区三区| 97精品国产露脸对白| 奇米精品一区二区三区在线观看一| 免费污视频在线一区| 成人3d动漫网站| 欧美日韩精品在线观看| 欧美丝袜第一区| 亚洲尤物在线视频观看| 久久国产精品99久久人人澡| 日本高清在线观看| 中国丰满人妻videoshd | 国产97在线播放| 国产曰批免费观看久久久| 黄视频网站在线观看| 国产aaa免费视频| 欧美激情一区二区三区久久久 | 亚洲精品写真福利| 自拍偷拍欧美精品| 在线观看av影片| 亚洲欧洲xxxx| 欧美日本在线| 四虎免费av| 亚洲欧美一区二区三区久久| 日韩视频在线观看| 北条麻妃在线视频观看| 欧美一区二区三区四区在线观看| 国产厕拍一区| 日本成人在线不卡| 精品污污网站免费看| 首页亚洲中字| 欧美精品自拍视频| 91精品国产aⅴ一区二区| 欧美人与牛zoz0性行为| 女人和拘做爰正片视频| 日韩精品一区二区三区四区| 色999日韩| 亚洲一区日韩精品| 日韩中文字幕欧美| 蜜桃视频一区二区| 国内精品久久久久久野外| 国产精品久久久久久超碰| 久久精品日韩一区二区三区| 中文字幕色婷婷在线视频| 欧美在线一区二区三区四区| 色成人在线视频| 国产精品毛片久久| 羞羞视频网站在线免费观看| 91av国产在线| 国产精品国产三级国产aⅴ无密码| 日韩城人网站| 国产无套内射久久久国产| 亚洲欧美一区二区精品久久久| 久久久精品午夜少妇| 超碰免费在线播放| 国产一区免费视频| 色老综合老女人久久久| 伊人久久大香线蕉综合四虎小说 | 日本免费一二区| 精品国偷自产在线视频99| 国产成人av电影在线播放| 中文一区一区三区高中清不卡免费| 色一情一乱一伦一区二区三区丨| 欧美日韩国产高清一区二区三区 | 日本成人在线电影网| 在线视频1区2区| 国产一区二区高清视频| 色偷偷88欧美精品久久久| 中文字幕免费一区二区三区| 国产精品免费观看| 国内外成人免费视频| 欧美日韩中文字幕一区二区| 日韩天堂av| 性爽视频在线| 国产精品日韩三级| 日韩视频免费在线| 久久精品亚洲精品国产欧美| 久久黄色影视| 情se视频网在线观看| 国产综合福利在线| 色哦色哦哦色天天综合| 99在线观看免费视频精品观看| 黑人另类精品××××性爽| 精品少妇在线视频| 538国产精品一区二区免费视频| 午夜精品福利久久久| 亚洲国产精品一区| 性欧美ⅴideo另类hd| av在线免费观看国产| 欧美高清视频免费观看| 樱桃视频在线观看一区| 欧美区日韩区| 特黄毛片在线观看| 欧美污视频网站| 国产欧美在线播放| 日韩免费高清视频| 久久久噜噜噜久久人人看| 四虎国产精品免费观看| 青青草原av在线|