SpringCloud Eureka搭建的方法步驟
1.SpringCloud是什么
以前的服務(wù)器就像是一個醫(yī)院只有一個醫(yī)生,什么病人都要讓這個醫(yī)生看,如果醫(yī)生覺得太累,自我暴斃了,那整個醫(yī)院都癱瘓了。而springcloud流行起來之后,就像是醫(yī)院里面有了外科診室,內(nèi)科診室等,每一個診室都有一群醫(yī)生負(fù)責(zé),這樣不管哪一個醫(yī)生不行了都不會影響整個醫(yī)院的運(yùn)轉(zhuǎn)。把一臺或好幾臺服務(wù)器中的眾多服務(wù),分類出來,解耦合出來,把他們類似的功能交給同一個集群來做,把互相耦合在一起的功能剝離出來,按業(yè)務(wù),按功能來把他們作為一個個微服務(wù)放在服務(wù)器上,而這個服務(wù)器就只提供一個服務(wù),或較少的服務(wù)。讓一個超大的服務(wù)邏輯,解耦合為一個個小服務(wù),均勻的分布在各自的服務(wù)器中。這就是springcloud。
2.Eureka是做什么用的
每一個診室都是一個微服務(wù)集群,他們提供的作用都是一樣的。注冊中心Eureka相當(dāng)于每個診室的成員表。
3.Eureka的搭建
在Idea中創(chuàng)建工程:File -> New ->Project -> Empty Project -> Next

點擊下一步就完事了
創(chuàng)建Module文件

選擇quickstart,點擊下一步(這個頁面可能要加載一會時間)

組名和文件名自己隨便編寫,寫完一直下一步

配置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)包。。。漫長的等待
在main下創(chuàng)建文件夾resources并設(shè)置為資源文件夾

在resources下新建file,并命名為appliaction.yml

配置appliaction.yml
server:
port: 8700 # 端口號自己隨意
# 指定當(dāng)前eureka客戶端的注冊地址,也就是eureka服務(wù)的提供方,當(dāng)前配置的服務(wù)的注冊服務(wù)方
eureka:
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
register-with-eureka: false #自身 不在向eureka注冊
fetch-registry: false #啟動時禁用client的注冊
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");
}
}
右鍵點擊Debug運(yùn)行,運(yùn)行成功后輸入http://localhost:8700如果能出現(xiàn)下面這個界面我們第一步就算成功啦。

接下來就該配置客戶端啦,它提供的是角色的配置,提供服務(wù)在服務(wù)注冊方(就是我們剛剛配置的server)進(jìn)行注冊
跟上面的步驟一樣,我們新建Module文件,需要注意的是上面的兩個選為

創(chuàng)建完文件后,我們來配置pom文件,引入以下依賴
<!--引入springboot-parent父項目-->
<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>
好吧,其實就是把dependency里的server改為client
接著我們創(chuàng)建resources文件夾,創(chuàng)建application.yml文件,里面這樣配置
server:
port: 8701 # 服務(wù)提供方
# 指定當(dāng)前eureka客戶端的注冊地址,
eureka:
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:8700/eureka
instance:
hostname: localhost
#當(dāng)前服務(wù)名稱
spring:
application:
name: eureka-service
pom.xml:
因為搭建的是服務(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//代表自己是一個服務(wù)提供方
public class EurekaServiceApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServiceApplication.class,args);
}
}
右鍵點擊Debug(當(dāng)然開啟此服務(wù)時需要先開啟server服務(wù) 就是我們第一個編寫的微服務(wù))等待運(yùn)行成功后,在進(jìn)入server頁面(進(jìn)入的是我們第一次配置的頁面,不是這個)

在頁面中我們可以看到,此時可以看見服務(wù)提供者已被注冊進(jìn) 服務(wù)注冊者
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot+Echarts實現(xiàn)請求后臺數(shù)據(jù)顯示餅狀圖
這篇文章主要介紹了SpringBoot+Echarts實現(xiàn)請求后臺數(shù)據(jù)顯示餅狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-12
Java中BigDecimal類與int、Integer使用總結(jié)
這篇文章主要給大家介紹了關(guān)于Java中BigDecimal類與int、Integer使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
JavaMap兩種遍歷方式keySet與entrySet詳解
這篇文章主要介紹了JavaMap兩種遍歷方式keySet與entrySet,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03
springBoot?之spring.factories擴(kuò)展機(jī)制示例解析
這篇文章主要為大家介紹了springBoot?之spring.factories擴(kuò)展機(jī)制示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Java中的Web MVC簡介_動力節(jié)點Java學(xué)院整理
MVC模型是一種架構(gòu)型的模式,本身不引入新功能,只是幫助我們將開發(fā)的結(jié)構(gòu)組織的更加合理,使展示與模型分離、流程控制邏輯、業(yè)務(wù)邏輯調(diào)用與展示邏輯分離2017-09-09

