IDEA快速搭建 SpringCloud 注冊中心與


 第一步:創建 注冊中心(eureka)項目

按照以下步驟一步一步來(只是對於IDEA的初學者來說)

 

 

 

(我這里選擇maven項目、比較方便)

給注冊中心項目 取上可愛的名稱

 

 

 

 

 

 

 

 

 

 

 

 


 

第二步配置 eureka的pom文件

具體配置信息(只是一個模板,所以比較少)。

<!-- springcloud版本聲明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<!-- 引入eureka依賴 -->
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>


第三步:搭建eureka的配置文件(我這里采用aplication.yml的方式,你們也可以采用 properties的方式),yml真的很好用,結構一目了然

server:
port: 8001 # 配置我們注冊中心的端口

eureka:
server:
waitTimeInMsWhenSyncEmpty: 0
instance:
hostname: 127.0.0.1 # url路徑 我采用的是本地路徑
client:
# 表明是否自身注冊到eureka 服務器上
registerWithEureka: false
# 是否從 eureka 服務器上獲得注冊信息
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #eureka 完整配置地址
第四步:編寫一個main函數,啟動訪問就可以了
請注意 @EnableEurekaServer

頁面輸入127.0.0.1:8001 看見這個頁面表示我們的注冊中心已經做好了,

以上就是一個簡單的 注冊中心模板,這樣完全無法滿足我們對知識的渴望,所有我要要搭建一個可以 真正注冊並訪問的模板。

這時我們要搭建一個生產者(也就是提供服務的)。

首先我們創建一個項目,可以按照上面的步驟自己再創建一個新的項目 名稱可以自己取一個。不多說

第一步:創建好項目后配置 pom.xml文件

具體配置信息 

<!-- springcloud版本聲明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<!-- eureka的依賴 -->
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
第二步:配置文件信息

 

端口一個不要后 注冊中心 eureka 一樣,要不然會報錯,端口占用。yml文件配置信息如下

server:
port: 8004

spring:
application:
name: producer-service

eureka:
client:
serviceUrl:
defaultZone: http://127.0.0.1:8001/eureka/
instance:
prefer-ip-address: true #用兩種方式進行注冊,一種是使用主機名注冊,一種是使用ip地址進行注冊,這里使用ip地址進行注冊

第三步:搭建接口,讓消費方進行訪問

我這里寫了一個Controller  和 普通的沒有區別,為服務系統本身就是每個系統都可以獨立訪問。具體的邏輯 可以隨便怎么寫,哪怕輸出一句 hoello word

第四步:編碼main函數,進行啟動

這里請注意 我這里 ApplicationMain上 給的注解 是 @EnableEurekaClient  

和注冊中心(euceka)不一樣,上面是服務、這里要將 他注冊到注冊中心里。

 

第五步:驗收

我們已經注冊到注冊中心里去了 

並且可以單獨運行

 

服務方,我們就搭建好了,接下來我們調用服就可以了


 

我們同樣也是需要重新搭建一個項目。

第一步:pom文件

也是原來的配置信息

<!-- springcloud版本聲明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<!-- 引入eureka依賴 -->
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>

 第二步:yml配置信息

注意端口不要重復

server:
port: 8003

spring:
application:
name: consumers-service

eureka:
client:
serviceUrl:
defaultZone: http://127.0.0.1:8001/eureka/
instance:
prefer-ip-address: true #用兩種方式進行注冊,一種是使用主機名注冊,一種是使用ip地址進行注冊,這里使用i

第三步:調用服務接口

我這里寫一個service 這樣分開也比較明白,我們具體說一下以下信息

第一個RestTemplate 我們通過他就可以訪問服務接口了。

return restTemplate.getForObject 有三個參數 ,

第一參數: 訪問的ulr producer-service是生產者注冊到注冊中心的名稱(yml中配置有)userController/queryUser/ 也就就是 具體Controller 的和具體方法了。

第二個參數:返回值 ,我這里返回的Strign 那么就是String.class。

第三個參數:也就是接口參數。我這里沒有參數,就沒給,反正就是測試一下。

return restTemplate.getForObject("http://producer-service/userController/queryUser/",String.class);

 

 

 

 

 

 

 

 

 

 

 

然后再寫一個Controller ,供前台訪問

 

 

第四步:啟動 注冊並訪問

 

 這里很重要,我們上面所說用 RestTemplate 就可以直接訪問了,但是他並沒用在spring容器中,如果不配置這啟動就會報錯

@Bean 配置RestTemplate 在spring 容器中。

@LoadBalanced 讓其支持負載均衡功能。細節我會以后再補充

/**
* @Bean 表示將RestTemplate 配置到bean容器中
* @LoadBalanced 表示支持負載均衡
* @return
*/
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}

驗收我們的成果吧。

注冊中心已經有了我們的 消費方的服務信息了。

我們的數據就是從 8005端口來的,

看到了吧,這樣表示我們已經寫好了。

 


 

到這里我們一個簡單的 springCloud 注冊中心 與訪問就寫好,里面用到的知識點,我會再以后 寫到博客中。

學到一點,總結一點,進步一點。

以上案例希望可以幫助到你們,共同進步。 

如果配置有問題,請聯系我QQ 1352216469 。

我是一只菜鳥,但是如果讓你搞懂了,不是說你連菜鳥都不如,而是說我真的明白了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM