SpringCloud Eureka搭建的方法步驟
1.SpringCloud是什么
以前的服務(wù)器就像是一個(gè)醫(yī)院只有一個(gè)醫(yī)生,什么病人都要讓這個(gè)醫(yī)生看,如果醫(yī)生覺(jué)得太累,自我暴斃了,那整個(gè)醫(yī)院都癱瘓了。而springcloud流行起來(lái)之后,就像是醫(yī)院里面有了外科診室,內(nèi)科診室等,每一個(gè)診室都有一群醫(yī)生負(fù)責(zé),這樣不管哪一個(gè)醫(yī)生不行了都不會(huì)影響整個(gè)醫(yī)院的運(yùn)轉(zhuǎn)。把一臺(tái)或好幾臺(tái)服務(wù)器中的眾多服務(wù),分類出來(lái),解耦合出來(lái),把他們類似的功能交給同一個(gè)集群來(lái)做,把互相耦合在一起的功能剝離出來(lái),按業(yè)務(wù),按功能來(lái)把他們作為一個(gè)個(gè)微服務(wù)放在服務(wù)器上,而這個(gè)服務(wù)器就只提供一個(gè)服務(wù),或較少的服務(wù)。讓一個(gè)超大的服務(wù)邏輯,解耦合為一個(gè)個(gè)小服務(wù),均勻的分布在各自的服務(wù)器中。這就是springcloud。
2.Eureka是做什么用的
每一個(gè)診室都是一個(gè)微服務(wù)集群,他們提供的作用都是一樣的。注冊(cè)中心Eureka相當(dāng)于每個(gè)診室的成員表。
3.Eureka的搭建
在Idea中創(chuàng)建工程:File -> New ->Project -> Empty Project -> Next
點(diǎn)擊下一步就完事了
創(chuàng)建Module文件
選擇quickstart,點(diǎn)擊下一步(這個(gè)頁(yè)面可能要加載一會(huì)時(shí)間)
組名和文件名自己隨便編寫,寫完一直下一步
配置pom文件
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.7.RELEASE</version> </parent> <!--server依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <!--指定下載源和使用springcloud的版本--> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
然后就開始導(dǎo)包。。。漫長(zhǎng)的等待
在main下創(chuàng)建文件夾resources并設(shè)置為資源文件夾
在resources下新建file,并命名為appliaction.yml
配置appliaction.yml
server: port: 8700 # 端口號(hào)自己隨意 # 指定當(dāng)前eureka客戶端的注冊(cè)地址,也就是eureka服務(wù)的提供方,當(dāng)前配置的服務(wù)的注冊(cè)服務(wù)方 eureka: client: service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka register-with-eureka: false #自身 不在向eureka注冊(cè) fetch-registry: false #啟動(dòng)時(shí)禁用client的注冊(cè) instance: hostname: localhost #指定應(yīng)用名稱 spring: application: name: eureka-server
在buting文件夾下新建文件EurekaServerAppliaction.java,然后寫入以下代碼。
@SpringBootApplication @EnableEurekaServer //當(dāng)前使用eureka的server public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class,args); System.out.println("2333"); } }
右鍵點(diǎn)擊Debug運(yùn)行,運(yùn)行成功后輸入http://localhost:8700如果能出現(xiàn)下面這個(gè)界面我們第一步就算成功啦。
接下來(lái)就該配置客戶端啦,它提供的是角色的配置,提供服務(wù)在服務(wù)注冊(cè)方(就是我們剛剛配置的server)進(jìn)行注冊(cè)
跟上面的步驟一樣,我們新建Module文件,需要注意的是上面的兩個(gè)選為
創(chuàng)建完文件后,我們來(lái)配置pom文件,引入以下依賴
<!--引入springboot-parent父項(xiàng)目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.7.RELEASE</version> </parent> <!--引入springcloud的euekea server依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!--指定下載源和使用springcloud的版本--> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
好吧,其實(shí)就是把dependency里的server改為client
接著我們創(chuàng)建resources文件夾,創(chuàng)建application.yml文件,里面這樣配置
server: port: 8701 # 服務(wù)提供方 # 指定當(dāng)前eureka客戶端的注冊(cè)地址, eureka: client: service-url: defaultZone: http://${eureka.instance.hostname}:8700/eureka instance: hostname: localhost #當(dāng)前服務(wù)名稱 spring: application: name: eureka-service pom.xml:
因?yàn)榇罱ǖ氖欠?wù)提供者,這里還需編寫服務(wù)類controller
@RestController @RequestMapping("/Hello") public class Controller { @RequestMapping("/World") public String helloWorld(String s){ System.out.println("傳入的值為:"+s); return "傳入的值為:"+s; } }
入口類 并運(yùn)行此微服務(wù)
@SpringBootApplication @EnableDiscoveryClient//代表自己是一個(gè)服務(wù)提供方 public class EurekaServiceApplication { public static void main(String[] args) { SpringApplication.run(EurekaServiceApplication.class,args); } }
右鍵點(diǎn)擊Debug(當(dāng)然開啟此服務(wù)時(shí)需要先開啟server服務(wù) 就是我們第一個(gè)編寫的微服務(wù))等待運(yùn)行成功后,在進(jìn)入server頁(yè)面(進(jìn)入的是我們第一次配置的頁(yè)面,不是這個(gè))
在頁(yè)面中我們可以看到,此時(shí)可以看見服務(wù)提供者已被注冊(cè)進(jìn) 服務(wù)注冊(cè)者
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot+Echarts實(shí)現(xiàn)請(qǐng)求后臺(tái)數(shù)據(jù)顯示餅狀圖
這篇文章主要介紹了SpringBoot+Echarts實(shí)現(xiàn)請(qǐng)求后臺(tái)數(shù)據(jù)顯示餅狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12Java Char的簡(jiǎn)單工具類CharUtil分享
下面小編就為大家分享一篇Java Char的簡(jiǎn)單工具類CharUtil,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Java中BigDecimal類與int、Integer使用總結(jié)
這篇文章主要給大家介紹了關(guān)于Java中BigDecimal類與int、Integer使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07JavaMap兩種遍歷方式keySet與entrySet詳解
這篇文章主要介紹了JavaMap兩種遍歷方式keySet與entrySet,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-03-03java的Builder原理和實(shí)現(xiàn)詳解
大家好,本篇文章主要講的是java的Builder原理和實(shí)現(xiàn)詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12springBoot?之spring.factories擴(kuò)展機(jī)制示例解析
這篇文章主要為大家介紹了springBoot?之spring.factories擴(kuò)展機(jī)制示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Java中的Web MVC簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
MVC模型是一種架構(gòu)型的模式,本身不引入新功能,只是幫助我們將開發(fā)的結(jié)構(gòu)組織的更加合理,使展示與模型分離、流程控制邏輯、業(yè)務(wù)邏輯調(diào)用與展示邏輯分離2017-09-09