亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

詳解使用Spring Cloud Consul實現服務的注冊和發現

2024-07-14 08:41:12
字體:
來源:轉載
供稿:網友

首先安裝consul環境

項目規劃,2個服務端,1個客戶端

首先來看服務端,

一:服務端1:

項目依賴

<dependencyManagement>   <dependencies>     <dependency>       <groupId>org.springframework.cloud</groupId>       <artifactId>spring-cloud-consul-dependencies</artifactId>       <version>1.0.1.RELEASE</version>       <type>pom</type>       <scope>import</scope>     </dependency>   </dependencies> </dependencyManagement>  <dependencies>   <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-actuator</artifactId>     <version>1.3.5.RELEASE</version>   </dependency>   <dependency>     <groupId>org.springframework.cloud</groupId>     <artifactId>spring-cloud-starter-consul-discovery</artifactId>   </dependency> </dependencies> 

注意,增加spring-boot-actuator是為了項目可以訪問/health 路徑來判斷服務是否健康

package com.pp.consul1;  import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  @SpringBootApplication @EnableDiscoveryClient @RestController public class ConsulApp {      @RequestMapping("/home")   public Object home() {     System.out.println("1111111111111");     return "OK11";   }      public static void main( String[] args ) {     SpringApplication.run(ConsulApp.class, args);   } } 

application.properties 配置內容

server.port=9955  spring.application.name=Consul-Server-1 spring.cloud.consul.host=192.168.1.100 spring.cloud.consul.port=8500 spring.cloud.consul.enabled=true spring.cloud.consul.discovery.enabled=true spring.cloud.consul.discovery.instanceId=tomcat1 spring.cloud.consul.discovery.serviceName=tomcat spring.cloud.consul.discovery.hostname=192.168.2.95 spring.cloud.consul.discovery.port=${server.port} spring.cloud.consul.discovery.healthCheckUrl=http://192.168.2.95:9955/health spring.cloud.consul.discovery.healthCheckInterval=10s spring.cloud.consul.discovery.tags=dev 

看過我之前文章的,應該對這些配置很清楚了。這樣,一個服務端就配置寫好了。

由于我們增加了@EnableDiscoveryClient注解,所以,系統啟動的時候,就會向consul注冊一個服務,服務的名字為tomcat, ID為tomcat1

訪問consul的HTTP API /v1/catalog/service/tomcat 輸出如下:

{   "Node":"192.168.1.100",   "Address":"192.168.1.100",   "ServiceID":"tomcat1",   "ServiceName":"tomcat",   "ServiceTags":["dev"],   "ServiceAddress":"192.168.2.95",   "ServicePort":9955,   "ServiceEnableTagOverride":false,   "CreateIndex":993,   "ModifyIndex":1057 } 

二:服務端2

項目依賴和上面一樣 

package com.pp.consul2;  import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  @SpringBootApplication @EnableDiscoveryClient @RestController public class ConsulApp {      @RequestMapping("/home")   public Object home() {     System.out.println("2222222222222222");     return "OK22";   }      public static void main( String[] args ) {     SpringApplication.run(ConsulApp.class, args);   } } 

application.properties 配置內容:

server.port=9966  spring.application.name=Consul-Server-2 spring.cloud.consul.host=192.168.1.100 spring.cloud.consul.port=8500 spring.cloud.consul.enabled=true spring.cloud.consul.discovery.enabled=true spring.cloud.consul.discovery.instanceId=tomcat2 spring.cloud.consul.discovery.serviceName=tomcat spring.cloud.consul.discovery.hostname=192.168.2.95 spring.cloud.consul.discovery.port=${server.port} spring.cloud.consul.discovery.healthCheckUrl=http://192.168.2.95:9966/health spring.cloud.consul.discovery.healthCheckInterval=10s spring.cloud.consul.discovery.tags=test 

三:客戶端

項目依賴,只需要spring-cloud-starter-consul-discovery

application.properties 配置內容:

server.port=9977  spring.application.name=Consul-Client spring.cloud.consul.host=192.168.1.100 spring.cloud.consul.port=8500 spring.cloud.consul.discovery.register=false 

注意,這里的spring.cloud.consul.discovery.register需要配置成false,否則系統啟動的時候,會向consul注冊一個服務

package com.pp.client;  import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  @SpringBootApplication @EnableDiscoveryClient @RestController public class ConsulClient {      @Autowired   private LoadBalancerClient loadBalancer;      @Autowired   private DiscoveryClient discoveryClient;      /**    * 從所有服務中選擇一個服務(輪詢)    */   @RequestMapping("/discover")   public Object discover() {     return loadBalancer.choose("tomcat").getUri().toString();   }      /**    * 獲取所有服務    */   @RequestMapping("/services")   public Object services() {     return discoveryClient.getInstances("tomcat");   }      public static void main( String[] args ) {     SpringApplication.run(ConsulClient.class, args);   } } 

啟動之后,就可以訪問/discover,/services 查看效果了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成avwww人| 91色在线视频| 亚洲精品中文字幕有码专区| 国产成人福利网站| 91夜夜未满十八勿入爽爽影院| 最新国产精品拍自在线播放| 欧美色道久久88综合亚洲精品| 精品女同一区二区三区在线播放| 久久久久久久久久久av| 日韩av日韩在线观看| 欧美性感美女h网站在线观看免费| 激情av一区二区| 国产欧美日韩精品在线观看| 不卡av在线播放| 主播福利视频一区| 亚洲福利视频久久| 国产亚洲人成网站在线观看| 亚洲性线免费观看视频成熟| 日韩免费av片在线观看| 国产精品久久激情| 最近2019中文字幕mv免费看| 日韩久久免费视频| 国产日韩在线看片| 国产热re99久久6国产精品| 狠狠躁天天躁日日躁欧美| 欧美日韩国产区| 欧美国产日韩一区二区| 日本三级韩国三级久久| 国产精品久久久久国产a级| 91亚洲精华国产精华| 国产精品扒开腿做爽爽爽的视频| 午夜精品一区二区三区av| 国产精品1234| 国产欧美一区二区三区在线| 日韩有码在线播放| 亚洲高清福利视频| 欧美午夜片欧美片在线观看| 欧美黑人一级爽快片淫片高清| 国产a级全部精品| 国产日本欧美一区二区三区在线| 亚洲天堂网站在线观看视频| 日韩在线欧美在线国产在线| 中文字幕日韩在线观看| 在线播放日韩专区| 日韩av高清不卡| 国产主播喷水一区二区| 国产精品com| 欧美日产国产成人免费图片| 欧美电影院免费观看| 国产成+人+综合+亚洲欧美丁香花| 精品久久久久久久久久久久久| 日韩高清电影免费观看完整| 91免费看片网站| 91亚洲国产精品| 伊人久久久久久久久久久久久| 色综合色综合网色综合| 日韩欧美成人免费视频| 久久久久久有精品国产| 亚洲精品成人久久电影| 日韩欧美aⅴ综合网站发布| 亚洲国产免费av| 国产成人久久久精品一区| 91在线观看免费高清完整版在线观看| 久青草国产97香蕉在线视频| 中文字幕在线成人| 欧美日韩福利在线观看| 欧美日韩一区二区三区在线免费观看| 日韩av电影国产| 国产成+人+综合+亚洲欧洲| 国产亚洲aⅴaaaaaa毛片| 国产日韩精品在线| 欧美激情影音先锋| 日本一区二区三区在线播放| 日韩av在线不卡| 欧美综合国产精品久久丁香| 欧美成人在线网站| 中文字幕亚洲第一| www国产精品com| 日韩久久精品电影| 69国产精品成人在线播放| 国产日韩欧美在线看| 欧美成人剧情片在线观看| 国产亚洲一区二区精品| 亚洲风情亚aⅴ在线发布| 欧美体内谢she精2性欧美| 911国产网站尤物在线观看| 国产在线拍偷自揄拍精品| 91久久精品日日躁夜夜躁国产| 精品美女久久久久久免费| 欧美精品久久久久久久免费观看| 中文精品99久久国产香蕉| 亚洲国产97在线精品一区| 91在线直播亚洲| 国产ts人妖一区二区三区| 九九精品在线观看| 色妞久久福利网| 亚洲精品国产成人| 精品毛片三在线观看| 亚洲综合在线中文字幕| 日韩在线视频免费观看高清中文| 有码中文亚洲精品| 午夜精品久久久久久99热软件| 亚洲国产精品成人一区二区| 成人网址在线观看| 日韩欧美主播在线| 在线成人免费网站| 国产精品一区二区久久| 在线看国产精品| 欧美一级淫片aaaaaaa视频| 韩国三级电影久久久久久| 日韩免费黄色av| 日韩毛片在线看| 成人国产精品av| 成人免费网站在线观看| 亚洲欧美成人在线| 日本一区二三区好的精华液| 97人人爽人人喊人人模波多| 亚洲免费伊人电影在线观看av| 国产欧美一区二区三区在线| 日韩成人在线电影网| 久久久在线免费观看| 中文字幕日韩在线视频| 色偷偷综合社区| 91精品视频大全| 91久久久亚洲精品| 欧美日韩成人黄色| 欧美成人第一页| 亚洲аv电影天堂网| 亚洲精品第一国产综合精品| 久久夜色精品国产欧美乱| 亚洲爱爱爱爱爱| 久久久人成影片一区二区三区观看| 精品视频在线播放色网色视频| 日韩欧美国产免费播放| 久久久久久久久久久91| 国产精自产拍久久久久久| 这里只有精品在线播放| 午夜精品一区二区三区在线| 97av在线视频免费播放| 日韩av在线看| 国产精品丝袜白浆摸在线| 国产精品第2页| 欧美日本高清一区| 国产视频精品va久久久久久| 亚洲国产日韩欧美综合久久| 欧美做爰性生交视频| 亚洲精品国精品久久99热一| 日韩少妇与小伙激情| 亚洲区中文字幕| 国产一区二区日韩| 成人在线视频网站| 国产精品久久久久久久久久三级| 亚洲精品美女网站| 亚洲人成在线电影| 亚洲精品丝袜日韩| 精品无码久久久久久国产| 欧美专区在线观看| 久久久久久国产免费| 久久这里有精品| 一区二区亚洲精品国产| 亚洲欧美国产日韩中文字幕| 国产精品嫩草影院一区二区| 琪琪第一精品导航| 92看片淫黄大片看国产片|