立足於SpringCloud.H + eureka-client(2)

      《SpringCloud.H心法總綱》  spring

      繼續上一篇,接下來Springcloud配置Eureka Client。app

一、建立Eureka-client模塊

      勾選兩個依賴spa

二、eureka-client的pom修改

須要繼承父工程.net

<parent>
    <groupId>com.springcloud</groupId>
    <artifactId>father</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

刪除與父工程重複的配置,達到簡潔明瞭的效果插件

三、Daddy的pom修改

添加子模塊的依賴關係server

<module>eureka-client</module>

四、配置文件

對eureka-client的application.properties配置中間件

# eureka-client項目端口號
server.port=8071

# eureka-client項目實例名
spring.application.name=eureka-client

# eureka-client須要去註冊的地址,也就是eureka-server的地址+/eureka的後綴
eureka.client.serviceUrl.defaultZone=http://localhost:8070/eureka/

五、啓動運行

運行成功以後,刷新一遍eureka-server界面,查看一下是否有註冊實例blog

而後看到下面的信息咱們已經註冊成功,不過1顯示有兩行報錯信息,意思爲Eureka-server開啓自我保護機制,緣由是繼承

心跳機制ci

名字 含義 條件
Lease expiration enabled 是否開啓保護機制,false表示開啓 當Renew threshold < Renews(last min)爲false 
Renew threshold server指望在每分鐘中收到的心跳次數  1 + 2 * eureka-clinet的個數
Renews(last min) 上一分鐘eureka-client發送的請求爲2次 一個eureka-client默認每隔30秒發送一次心跳,因此一分鐘爲2

因此目前咱們兩個辦法解決,請看下一步

六、Eureka-server解決心跳機制

因爲上一步咱們已經說明了,第一個辦法是讓eureka-server註冊中心本身關閉這個機制,因此在eureka-server的配置文件中添加以下:

# eureka-server 關閉自我保護心跳機制
eureka.server.enable-self-preservation=false

關閉後出現提出語,以下,表示在配置上,自我保護機制關閉

七、Eureka-client解決心跳機制

修改eureka-client主動發送心跳的頻率,把默認值每隔30秒發送一次心跳改爲15秒或者10秒

# eureka-client 默認30秒主動向註冊中心發送一次心態
eureka.instance.lease-renewal-interval-in-seconds=10

修改等待一分鐘後,刷新Eureka-server界面,以下:

這樣,甚至連紅色的一行都沒有了,因此我以爲這個是更好的解決方案,到此咱們的服務註冊和發現也完成了,eureka-client完成配置,又掌握了一個小組建

八、搭建成功以後的總結

在配置eureka-client的時候,在它的啓動類上,剛剛使用了

@EnableEurekaClient

其實也可使用,都能起到相同的做用

@EnableDiscoveryClient

二者的區別就是SpringCloud的服務註冊與發現,至少有三個插件可使用,分別是Eureka、Zookeeper、Consul三個中間件,並且Eureka和Consul是競爭關係,可是SpringCloud默認使用的是Neflix Eureka,因此自動使用的註冊中心中間件是Eureka,因此@EnableEurekaClient使用的就是Eureka中間件,若是使用@EnableDiscoveryClient,會有選擇性的選擇中間件,若是公司要求大家選擇其餘的中間件的話。

相關文章
相關標籤/搜索