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),解耦合出來(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í)間)

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

配置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>
然后就開(kāi)始導(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,然后寫(xiě)入以下代碼。
@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ù)提供者,這里還需編寫(xiě)服務(wù)類(lèi)controller
@RestController
@RequestMapping("/Hello")
public class Controller {
@RequestMapping("/World")
public String helloWorld(String s){
System.out.println("傳入的值為:"+s);
return "傳入的值為:"+s;
}
}
入口類(lèi) 并運(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)然開(kāi)啟此服務(wù)時(shí)需要先開(kāi)啟server服務(wù) 就是我們第一個(gè)編寫(xiě)的微服務(wù))等待運(yùn)行成功后,在進(jìn)入server頁(yè)面(進(jìn)入的是我們第一次配置的頁(yè)面,不是這個(gè))

在頁(yè)面中我們可以看到,此時(shí)可以看見(jiàn)服務(wù)提供者已被注冊(cè)進(jìn) 服務(wù)注冊(cè)者
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot為何可以使用Jar包啟動(dòng)詳解
springboot jar包啟動(dòng)腳本,適用于快速啟動(dòng),刪除,重啟,以及查看狀態(tài),下面這篇文章主要給大家介紹了關(guān)于SpringBoot為何可以使用Jar包啟動(dòng)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
使用Java實(shí)現(xiàn)獲取excel附件并解析
在Java中,我們經(jīng)常需要讀取Excel文件中的數(shù)據(jù),進(jìn)行處理和分析,本文將介紹如何使用Java代碼來(lái)獲取與解析Excel文件中的附件,希望對(duì)大家有所幫助2025-04-04
半小時(shí)實(shí)現(xiàn)Java手?jǐn)]網(wǎng)絡(luò)爬蟲(chóng)框架(附完整源碼)
最近在做一個(gè)搜索相關(guān)的項(xiàng)目,需要爬取網(wǎng)絡(luò)上的一些鏈接存儲(chǔ)到索引庫(kù)中,自己寫(xiě)了一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲(chóng),感興趣的可以了解一下2021-06-06
Java基礎(chǔ)學(xué)習(xí)之ArrayList類(lèi)概述與常用方法
這篇文章主要為大家簡(jiǎn)單的介紹Java中ArrayList類(lèi)的概述、常用方法及存儲(chǔ)字符串并遍歷,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-08-08
SpringBoot項(xiàng)目導(dǎo)出jar包及瘦身部署方式
今天項(xiàng)目要求Nginx+jar包運(yùn)行多個(gè)項(xiàng)目,在此記錄一下部署的過(guò)程,其中借鑒了好多網(wǎng)上前輩的經(jīng)驗(yàn),感謝各位的無(wú)私分享2024-07-07
SpringCloud使用集中配置組件Config規(guī)避信息泄露
項(xiàng)目應(yīng)用中,數(shù)據(jù)庫(kù)連接信息、Access-key、Secret-key等由于其及其敏感和特殊性,一旦泄露出去就很可能會(huì)使得應(yīng)用遭到黑客攻擊,例如數(shù)據(jù)庫(kù)賬號(hào)密碼泄露可能導(dǎo)致“拖庫(kù)”,甚至數(shù)據(jù)丟失。此等事件偶有發(fā)生,那么,在分布式微服務(wù)項(xiàng)目中,怎么避免這種情況呢2022-07-07
IDEA java出現(xiàn)無(wú)效的源發(fā)行版14解決方案
這篇文章主要介紹了IDEA java出現(xiàn)無(wú)效的源發(fā)行版14解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
設(shè)計(jì)模式之責(zé)任鏈模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了設(shè)計(jì)模式之責(zé)任鏈模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

