SpringCloud Eureka搭建的方法步驟
1.SpringCloud是什么
以前的服務(wù)器就像是一個醫(yī)院只有一個醫(yī)生,什么病人都要讓這個醫(yī)生看,如果醫(yī)生覺得太累,自我暴斃了,那整個醫(yī)院都癱瘓了。而springcloud流行起來之后,就像是醫(yī)院里面有了外科診室,內(nèi)科診室等,每一個診室都有一群醫(yī)生負責,這樣不管哪一個醫(yī)生不行了都不會影響整個醫(yī)院的運轉(zhuǎn)。把一臺或好幾臺服務(wù)器中的眾多服務(wù),分類出來,解耦合出來,把他們類似的功能交給同一個集群來做,把互相耦合在一起的功能剝離出來,按業(yè)務(wù),按功能來把他們作為一個個微服務(wù)放在服務(wù)器上,而這個服務(wù)器就只提供一個服務(wù),或較少的服務(wù)。讓一個超大的服務(wù)邏輯,解耦合為一個個小服務(wù),均勻的分布在各自的服務(wù)器中。這就是springcloud。
2.Eureka是做什么用的
每一個診室都是一個微服務(wù)集群,他們提供的作用都是一樣的。注冊中心Eureka相當于每個診室的成員表。
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 # 端口號自己隨意
# 指定當前eureka客戶端的注冊地址,也就是eureka服務(wù)的提供方,當前配置的服務(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 //當前使用eureka的server
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class,args);
System.out.println("2333");
}
}
右鍵點擊Debug運行,運行成功后輸入http://localhost:8700如果能出現(xiàn)下面這個界面我們第一步就算成功啦。

接下來就該配置客戶端啦,它提供的是角色的配置,提供服務(wù)在服務(wù)注冊方(就是我們剛剛配置的server)進行注冊
跟上面的步驟一樣,我們新建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ù)提供方
# 指定當前eureka客戶端的注冊地址,
eureka:
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:8700/eureka
instance:
hostname: localhost
#當前服務(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;
}
}
入口類 并運行此微服務(wù)
@SpringBootApplication
@EnableDiscoveryClient//代表自己是一個服務(wù)提供方
public class EurekaServiceApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServiceApplication.class,args);
}
}
右鍵點擊Debug(當然開啟此服務(wù)時需要先開啟server服務(wù) 就是我們第一個編寫的微服務(wù))等待運行成功后,在進入server頁面(進入的是我們第一次配置的頁面,不是這個)

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

