成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析

瀏覽:2日期:2023-08-25 09:41:25

SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析

什么是Consul

Consul 是 HashiCorp 公司推出的開(kāi)源工具,用于實(shí)現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置。與其它分布式服務(wù)注冊(cè)與發(fā)現(xiàn)的方案,Consul 的方案更“一站式”,內(nèi)置了服務(wù)注冊(cè)與發(fā)現(xiàn)框架、分布一致性協(xié)議實(shí)現(xiàn)、健康檢查、Key/Value 存儲(chǔ)、多數(shù)據(jù)中心方案,不再需要依賴其它工具(比如 ZooKeeper 等)。使用起來(lái)也較為簡(jiǎn)單。Consul 使用 Go 語(yǔ)言編寫(xiě),因此具有天然可移植性(支持Linux、windows和Mac OS X);安裝包僅包含一個(gè)可執(zhí)行文件,方便部署,與 Docker 等輕量級(jí)容器可無(wú)縫配合。

Consul安裝

官網(wǎng)(consul.io)最新版本1.8.0 提供了MacOS,Windows, Linux, 如果你不知道怎么安裝,官方還提供了視頻。

SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析

我這里使用docker安裝,安裝過(guò)程總結(jié)起來(lái)為三句話:

docker search consuldocker pull consul docker run --name consul -d -p 8600:8500 consul

沒(méi)問(wèn)題的話,本機(jī)訪問(wèn)http://localhost:8600則可以打開(kāi)consul自帶的管理系統(tǒng),默認(rèn)情況下沒(méi)有服務(wù)注冊(cè)進(jìn)來(lái)

SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析

準(zhǔn)備工作新建父工程, 主要約定SpringCloud, SpringBoot版本號(hào),我使用的是Hoxton.SR1, SpringBoot2.2 新建3個(gè)子Module,這里兩個(gè)service,一個(gè)consumer, 兩個(gè)service我用8001和8002端口來(lái)區(qū)分,主要是想在服務(wù)消費(fèi)時(shí)反應(yīng)客戶端負(fù)載均衡。

項(xiàng)目結(jié)構(gòu)如下圖

SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析

父工程pom.xml

<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>

服務(wù)提供者

服務(wù)注冊(cè)中心有了,那么我們來(lái)開(kāi)發(fā)兩個(gè)服務(wù)提供者,這里新建了兩個(gè)Module,端口8001和8002。兩個(gè)Module代碼相同,主要為了演示負(fù)載使用。

新建Module,添加spring-cloud-starter-consul-disconvery依賴

SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析

pom.xml

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> </dependencies>

添加配置(application.yml)

server: port: 8001spring: application: name: consul-student-service cloud: consul: port: 8600 host: 127.0.0.1 discovery: service-name: ${spring.application.name}

修改啟動(dòng)類,添加服務(wù)

這里我直接寫(xiě)了一個(gè)測(cè)試接口放在啟動(dòng)類里。這里我只貼了端口8001的代碼,8002代碼結(jié)構(gòu)相同,只是端口不同。

@SpringBootApplication@EnableDiscoveryClient@RestControllerpublic class ConsulStudentService8001 { public static void main(String[] args) { SpringApplication.run(ConsulStudentService8001.class,args); } @GetMapping('/student/version') public String version(){ return '8001,202007222300'; }}

OK,到這一步,啟動(dòng)兩個(gè)服務(wù),不出異常的情況下,可在注冊(cè)中心查看當(dāng)前的服務(wù)實(shí)例。

SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析

Consul消費(fèi)者

服務(wù)注冊(cè)中心有了,服務(wù)提供者也有了,我們?cè)賮?lái)開(kāi)發(fā)一個(gè)服務(wù)消費(fèi)者。

新建Module,同樣添加spring-cloud-starter-consul-disconvery依賴

pom.xml

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> </dependencies>

添加配置(application.yml)

server: port: 8080spring: application: name: consul-student-consumer cloud: consul: host: 127.0.0.1 port: 8600 discovery: service-name: ${spring.application.name} # 不需要注冊(cè)到consul中 register: false

修改啟動(dòng)類,調(diào)用服務(wù)

開(kāi)發(fā)RestTemplate配置類,調(diào)用REST接口時(shí)使用。

@Configurationpublic class ApplicationContextConfig { @Bean @LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); }}

修改啟動(dòng)類

@SpringBootApplication@EnableDiscoveryClient@RestControllerpublic class ConsulStudentConsumer { public static void main(String[] args) { SpringApplication.run(ConsulStudentConsumer.class,args); } @Autowired RestTemplate restTemplate; @GetMapping('/consul/student/version') public String version(){ //這里使用服務(wù)實(shí)例名調(diào)用REST接口 return restTemplate.getForObject('http://consul-student-service/student/version',String.class); }}

OK, 這一步完成之后,可以啟動(dòng)消費(fèi)者接口,刷新幾次,從返回結(jié)果上能看出來(lái)是輪訓(xùn)調(diào)用服務(wù)提供者接口實(shí)例。

到此這篇關(guān)于SpringBoot + Spring Cloud Consul 服務(wù)注冊(cè)和發(fā)現(xiàn)詳細(xì)解析的文章就介紹到這了,更多相關(guān)SpringBoot Spring Cloud Consul 服務(wù)注冊(cè)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲成人自拍一区| 欧美综合色免费| 久久久天天操| 亚洲欧洲一区二区在线播放| 91麻豆swag| 国产欧美日韩中文久久| 欧美精品麻豆| 中文字幕字幕中文在线中不卡视频| 欧美日韩少妇| 中文字幕欧美一| 黄色日韩在线| 一区二区三区四区乱视频| 一本一本久久| 亚洲高清免费观看| 久久国产日韩| 日韩精品亚洲一区二区三区免费| 亚洲欧美日韩在线观看a三区| 一区二区三区丝袜| 中日韩男男gay无套| 亚洲国产精品一区二区久久恐怖片 | 精品动漫3d一区二区三区免费| 国产精品美女久久福利网站| 狠狠色综合网| 亚洲黄色免费电影| 亚洲在线黄色| 裸体健美xxxx欧美裸体表演| 欧美老年两性高潮| 国产69精品久久99不卡| 久久亚洲综合av| 欧美日韩综合另类| 国产精品素人一区二区| 亚洲精品影视| 亚洲v中文字幕| 欧美亚洲国产bt| 国产精华液一区二区三区| 精品国产亚洲在线| 国产精品99免费看| 一区二区三区精品视频| 色视频欧美一区二区三区| 国内精品国产成人国产三级粉色| 91精品国产综合久久久蜜臀图片| 国产成人aaa| 国产女主播在线一区二区| 日韩网站在线| 毛片一区二区三区| 欧美一二三四区在线| 欧美黄色精品| 亚洲一区二区三区不卡国产欧美| 欧美色爱综合网| 成人综合在线观看| 欧美激情一区二区三区| 亚洲影院在线| 国产精品123| 中文字幕在线观看一区| 久久裸体视频| 大胆欧美人体老妇| 日韩毛片视频在线看| 欧美亚洲综合一区| 97久久精品人人做人人爽| 亚洲视频免费观看| 在线观看区一区二| 成人短视频下载| 亚洲黄色免费电影| 制服视频三区第一页精品| 午夜性色一区二区三区免费视频| 亚洲亚洲人成综合网络| 欧美美女激情18p| 91麻豆高清视频| 亚洲国产视频a| 日韩三级视频在线观看| 99精品国产一区二区青青牛奶| 精品一区二区三区在线播放视频| 日本一区二区三区四区在线视频| 久久精品国产第一区二区三区最新章节 | 国产精品porn| 婷婷综合另类小说色区| 欧美成人a∨高清免费观看| 亚洲视频www| 国产福利一区二区三区在线视频| 成人免费在线播放视频| 欧美夫妻性生活| 1024成人| 国产成人精品在线看| 亚洲乱码一区二区三区在线观看| 欧美电影影音先锋| 99热免费精品在线观看| 成人综合在线观看| 亚洲午夜精品17c| 精品国产乱码久久久久久1区2区 | 国产激情一区二区三区桃花岛亚洲| 国产精品国产三级国产aⅴ无密码| 色综合久久88色综合天天| 91片在线免费观看| 青草av.久久免费一区| 久久久久国产精品厨房| 久久亚洲国产精品日日av夜夜| www.一区二区| 青青草97国产精品免费观看 | 国产一区二区你懂的| 成人免费视频免费观看| 亚洲国产精品久久久男人的天堂| 日韩精品一区二区三区视频在线观看| 国产精品嫩草99av在线| 国产不卡免费视频| 无码av免费一区二区三区试看| 国产拍揄自揄精品视频麻豆| 91成人在线免费观看| 欧美精品网站| 美女精品一区二区| 成人免费在线观看入口| 日韩欧美一卡二卡| 久久亚洲国产精品日日av夜夜| 午夜视频精品| 国产精品18久久久久久久久久久久| 亚洲主播在线观看| 久久久久久久免费视频了| 在线观看亚洲精品视频| 亚洲经典视频在线观看| 不卡免费追剧大全电视剧网站| 人人精品人人爱| 亚洲日本乱码在线观看| 久久这里只有精品首页| 欧美日韩精品系列| 亚洲一区二区三区涩| 欧美日韩少妇| 成人黄色大片在线观看| 久久精品二区亚洲w码| 亚洲综合久久久| 国产精品久线在线观看| 精品国产一区二区在线观看| 欧美视频精品在线观看| 亚洲欧美久久| 在线观看欧美一区| 欧美呦呦网站| 成人精品电影在线观看| 精品在线观看视频| 亚洲成av人片| 亚洲品质自拍视频网站| 久久精品一二三| 日韩一区二区三区观看| 欧美伊人久久大香线蕉综合69| 国产精品毛片| 日韩视频久久| 亚洲国产一区二区三区高清 | 9191精品国产综合久久久久久| 久久国产66| 91久久黄色| 欧美视频网站| 欧美激情一级片一区二区| 91免费小视频| 91在线看国产| 99精品久久只有精品| 国产成人免费在线视频| 国产一区亚洲一区| 蜜芽一区二区三区| 首页亚洲欧美制服丝腿| 亚洲午夜av在线| 亚洲精品国产a久久久久久| 中文字幕一区二区三区四区不卡 | 久久久99久久| 久久先锋影音av| 日韩亚洲欧美成人一区| 欧美色网站导航| 色女孩综合影院| 美女爽到呻吟久久久久| 国产欧美精品久久| 在线视频免费在线观看一区二区| 亚洲啪啪91| 一本久道综合久久精品| 99伊人成综合| 亚洲少妇一区| 国产亚洲欧美一区二区三区| 一本久久知道综合久久| 日韩一级大片| 国产精品一二| 亚洲男人影院| 久久久久久亚洲精品杨幂换脸 | 国产一区二区三区的电影 | 亚洲狠狠丁香婷婷综合久久久| 亚洲人成网站精品片在线观看| 国产精品伦理在线| 国产清纯白嫩初高生在线观看91| 国产清纯美女被跳蛋高潮一区二区久久w| 久久精品人人做人人爽97| 久久久不卡网国产精品一区| 欧美激情一区二区三区不卡| 国产精品成人午夜| 亚洲综合视频网| 日韩va亚洲va欧美va久久| 另类调教123区| 国产专区综合网| 国产成人三级在线观看| 99久久99久久免费精品蜜臀| 欧美国产综合| 国产日韩一区二区三区在线播放| 国产精品一区二区a| 在线免费视频一区二区| 56国语精品自产拍在线观看| 精品国产91久久久久久久妲己| 国产精品免费视频观看|