摘要:必須要從零開始用搭建一下這個(gè)框架,本文是采用作為服務(wù)注冊與發(fā)現(xiàn)的組件。是一個(gè)默認(rèn)的注冊中心地址。配置該選項(xiàng)后,可以在服務(wù)中心進(jìn)行注冊。配置完成之后,啟動項(xiàng)目,然后瀏覽器地址欄輸入然后出現(xiàn)以下頁面,表示注冊中心搭建完畢。
發(fā)現(xiàn)很多招聘都需要會springcloud,所以最近在學(xué)習(xí)springcloud。
必須要從零開始用IDEA搭建一下這個(gè)springcloud框架,本文是采用Eureka作為服務(wù)注冊與發(fā)現(xiàn)的組件。
先用IDEA創(chuàng)建一個(gè)MAVEN項(xiàng)目。
下一步需要填寫GroupId和ArtifactId,這里按照自己的習(xí)慣去填寫就好了。
下一步選擇項(xiàng)目位置和項(xiàng)目名稱點(diǎn)擊完成就可以了。
在該MAVEN項(xiàng)目下新建一個(gè)模塊,這里就需要新建的是springboot了。
這里選擇的是spring initializr進(jìn)行springboot的創(chuàng)建。
還是要對Group和Artifact進(jìn)行設(shè)置。
點(diǎn)擊下一步之后,我們需要選擇Cloud Discovery下的Eureka Server,點(diǎn)擊下一步然后點(diǎn)擊完成就可以了。
現(xiàn)在我們需要對服務(wù)中心eureka-server進(jìn)行一些相關(guān)的配置了。
打開它的pom.xml文件,我們看到是這樣的:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE com.zhouxiaoxi eureka-server 0.0.1-SNAPSHOT eureka-server Demo project for Spring Boot 1.8 Greenwich.SR1 org.springframework.cloud spring-cloud-starter-netflix-eureka-server org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin
然后我們需要啟動一個(gè)服務(wù)注冊中心,這需要在springboot工程的啟動application類上加一個(gè)注解@EnableEurekaServer:
package com.zhouxiaoxi.eurekaserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
先將配置文件改為yml,然后進(jìn)行相關(guān)的配置,如下:
#端口號 server: port: 8080 eureka: instance: hostname: localhost client: #服務(wù)注冊中心也會將自己作為客戶端來嘗試注冊自己,為true(默認(rèn))時(shí)自動生效。 registerWithEureka: false #檢索服務(wù)選項(xiàng),當(dāng)設(shè)置為True(默認(rèn)值)時(shí),會進(jìn)行服務(wù)檢索,注冊中心不負(fù)責(zé)檢索服務(wù)。 fetchRegistry: false #是一個(gè)默認(rèn)的注冊中心地址。配置該選項(xiàng)后,可以在服務(wù)中心進(jìn)行注冊。 serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ spring: application: name: eurka-server
配置完成之后,啟動項(xiàng)目,然后瀏覽器地址欄輸入http://localhost:8080然后出現(xiàn)以下頁面,表示注冊中心搭建完畢。
接下來我們就需要創(chuàng)建一個(gè)服務(wù)提供者 (eureka-client)
還是和上面一樣新建一個(gè)模塊,這次我們命名為eureka-client,然后選擇依賴的時(shí)候有點(diǎn)區(qū)別:
點(diǎn)擊下一步知道完成就可以了。
核對一下pom.xml文件信息:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE com.zhouxiaoxi eureka-client 0.0.1-SNAPSHOT eureka-client Demo project for Spring Boot 1.8 Greenwich.SR1 org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin
我們這邊也需要對啟動類進(jìn)行相關(guān)的注解添加:
因?yàn)槲覀冞@邊用的是eureka搭建的服務(wù)中心,所以我們這邊還是用@EnableEurekaClient注解就可以了
package com.zhouxiaoxi.eurekaclient; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient //@EnableDiscoveryClient注解是基于spring-cloud-commons依賴,相當(dāng)于一個(gè)公共的服務(wù)發(fā)現(xiàn); //@EnableEurekaClient注解是基于spring-cloud-netflix依賴,只能為eureka作用; public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
需要對配置文件進(jìn)行相關(guān)的配置:
server: port: 8081 spring: application: name: eureka-client eureka: client: serviceUrl: #注明自己的服務(wù)注冊中心的地址 defaultZone: http://localhost:8080/eureka/
新建一個(gè)controller,然后寫一個(gè)hello方法:
package com.zhouxiaoxi.eurekaclient.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @Value("${server.port}") String port; @RequestMapping("/hello") public String home(@RequestParam(value = "name") String name) { return "hello " + name + " ,i am from port:" + port; } }
啟動該工程之后,打開剛才的瀏覽器頁面刷新后會發(fā)現(xiàn)一個(gè)服務(wù)已經(jīng)注冊在服務(wù)中了,服務(wù)名為EUREKA-CLIENT ,端口為8081:
這時(shí)打開 http://localhost:8081/hello?name=world,你會在瀏覽器上看到 :
hello world ,i am from port:8081
至此,我們的一個(gè)較為完整的項(xiàng)目就搭建起來了。
不過我們還可以運(yùn)行多個(gè)服務(wù),這里有個(gè)小技巧了就:
先打開IDEA右上角的編輯配置,如下圖:
然后找到我們剛才的工程,將允許并行運(yùn)行給勾選上,應(yīng)用并確定就可以了:
找到該工程下的配置文件,將端口號進(jìn)行修改后啟動,就可以并行啟動多個(gè)服務(wù)了:
啟動幾個(gè)我們就會在注冊中心的頁面上看到幾個(gè)服務(wù)。
恩,先這樣吧,后續(xù)再更新。。。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/74571.html
摘要:接下來繼續(xù)介紹三種架構(gòu)模式,分別是查詢分離模式微服務(wù)模式多級緩存模式。分布式應(yīng)用程序可以基于實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負(fù)載均衡命名服務(wù)分布式協(xié)調(diào)通知集群管理選舉分布式鎖和分布式隊(duì)列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡單的 SpringCloud 教程 | 第九篇: 服務(wù)鏈路追蹤 (Spring Cloud Sleuth) 史上最簡單的 S...
摘要:是一個(gè)相對比較新的微服務(wù)框架,年才推出的版本雖然時(shí)間最短但是相比等框架提供的全套的分布式系統(tǒng)解決方案。提供線程池不同的服務(wù)走不同的線程池,實(shí)現(xiàn)了不同服務(wù)調(diào)用的隔離,避免了服務(wù)器雪崩的問題。通過互相注冊的方式來進(jìn)行消息同步和保證高可用。 Spring Cloud 是一個(gè)相對比較新的微服務(wù)框架,...
摘要:環(huán)境搭建注冊中心依賴如下所示配置應(yīng)用啟動端口注冊中心管理中的應(yīng)用名稱登陸注冊管理中的的賬號密碼是否把自己注冊到注冊中心是否從上來獲取服務(wù)的注冊信息啟動注冊中心啟動后訪問登陸界面輸入設(shè)置的賬號密碼進(jìn) 環(huán)境 Java version 1.8 SpringBoot version 2.1.7 搭建注冊中心 Eureka-server pom.xml 依賴如下所示: ...
摘要:它就是史上最簡單的教程第三篇服務(wù)消費(fèi)者后端掘金上一篇文章,講述了通過去消費(fèi)服務(wù),這篇文章主要講述通過去消費(fèi)服務(wù)。概覽和架構(gòu)設(shè)計(jì)掘金技術(shù)征文后端掘金是基于的一整套實(shí)現(xiàn)微服務(wù)的框架。 Spring Boot 配置文件 – 在坑中實(shí)踐 - 后端 - 掘金作者:泥瓦匠鏈接:Spring Boot 配置文件 – 在坑中實(shí)踐版權(quán)歸作者所有,轉(zhuǎn)載請注明出處本文提綱一、自動配置二、自定義屬性三、ran...
摘要:實(shí)現(xiàn)配置和注冊中心最近,阿里開源的比較火,可以和和共用,對升級到非常的方便。只需要添加依賴,使用配置注冊中心地址即可。配置不生效,沒有使用注解刷新配置分清注冊中心和配置中心是兩個(gè)概念,需要配置兩個(gè)地址學(xué)會看源碼,看維基。 Springcloud-nacos實(shí)現(xiàn)配置和注冊中心 最近,阿里開源的nacos比較火,可以和springcloud和dubbo共用,對dubbo升級到springc...
閱讀 3583·2021-11-15 11:36
閱讀 1073·2021-11-11 16:55
閱讀 712·2021-10-20 13:47
閱讀 3034·2021-09-29 09:35
閱讀 3461·2021-09-08 10:45
閱讀 2562·2019-08-30 15:44
閱讀 861·2019-08-30 11:10
閱讀 1438·2019-08-29 13:43