日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springcloud 之 EurekaServer 服务注册集群

發布時間:2023/12/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springcloud 之 EurekaServer 服务注册集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在之前一篇文章(https://blog.csdn.net/zwx19921215/article/details/79800409)中我們已經搭建了一個EurekaServer,

至于它的功能我已經不再贅述,但是很明顯這是一個單點服務,而我們都知道,服務注冊中心是整個分布式系統的核心,我們所有的微服務實例都注冊在其中,一旦該服務注冊中心宕機,則可能導致整個服務集群癱瘓,所以很明顯在真實的生產環境中,我們必須將注冊中心進行集群化部署(至少2個節點),那么接下來我們來搭建一個簡單的2個節點的集群吧.

1.環境準備

我準備了2臺機器,因為我打算在2臺機器上部署2個實例;其實也可以一臺機器上部署,但是我是為了更好的模擬真實環境

2.準備好工程,我沿用了之前的工程(discover-server)

3.配置更改

第一份配置如下:

#端口 server.port=8761 spring.application.name=x-discover-server eureka.instance.hostname=10.0.2.23 #配置另一個服務注冊中心實例的hostport eureka.server.host=10.0.2.24 eureka.server.port=8762 #通過eureka.client.registerWithEurekafalsefetchRegistryfalse來表明自己是一個eureka server. #register-with-eureka:表示是否將自己注冊到eureka server,因為要構建集群環境,需要將自己注冊到集群中,所以應該開啟。默認為true,可不顯式設置。 eureka.client.register-with-eureka=true #fetch-registry:表示是否從eureka server獲取注冊信息,如果是單一節點,不需要同步其他eureka server節點,則可以設置為false,但此處為集群,應該設置為true,默認為true,可不設置。 eureka.client.fetch-registry=true eureka.client.serviceUrl.defaultZone=http://${eureka.server.host}:${eureka.server.port}/eureka/ #-----------------------------------關閉eureka自我保護--------------------------------------- #注意:更改Eureka更新頻率將打破服務器的自我保護功能,生產環境下不建議自定義這些配置。 #Eureka Server端:配置關閉自我保護,并按需配置Eureka Server清理無效節點的時間間隔 #設為false,關閉自我保護 eureka.server.enable-self-preservation=false #清理間隔(單位毫秒,默認是60*1000eureka.server.eviction-interval-timer-in-ms=4000


第二份配置如下:

#端口 server.port=8762 spring.application.name=x-discover-server #eureka 實例名 eureka.instance.hostname=10.0.2.24 #配置另一個服務注冊中心實例的hostport eureka.server.host=10.0.2.23 eureka.server.port=8761 #通過eureka.client.registerWithEurekafalsefetchRegistryfalse來表明自己是一個eureka server. #register-with-eureka:表示是否將自己注冊到eureka server,因為要構建集群環境,需要將自己注冊到及群眾,所以應該開啟。默認為true,可不顯式設置。 eureka.client.register-with-eureka=true #fetch-registry:表示是否從eureka server獲取注冊信息,如果是單一節點,不需要同步其他eureka server節點,則可以設置為false,但此處為集群,應該設置為true,默認為true,可不設置。 eureka.client.fetch-registry=true eureka.client.serviceUrl.defaultZone=http://${eureka.server.host}:${eureka.server.port}/eureka/ #-----------------------------------關閉eureka自我保護--------------------------------------- #注意:更改Eureka更新頻率將打破服務器的自我保護功能,生產環境下不建議自定義這些配置。 #Eureka Server端:配置關閉自我保護,并按需配置Eureka Server清理無效節點的時間間隔 #設為false,關閉自我保護 eureka.server.enable-self-preservation=false #清理間隔(單位毫秒,默認是60*1000eureka.server.eviction-interval-timer-in-ms=4000

配置具體說明見內容

分別打包2份配置,并將2個jar部署到對應的機器,訪問10.0.2.23:8761



如圖,x-discover-server已經啟動了2個實例,10.0.23機器中的8761端口,10.0.2.24中的8762端口,

訪問10.0.2.24:8762



由上圖可以看出2個實例都已經相互注冊了,形成了一個2個服務的小集群。

4.接下來我們注冊一個客戶端服務到其中,沿用之前的項目demo-springboot

5.更改demo-springboot中的相應配置

#端口 server.port=8889 #實例名 spring.application.name=demo-springboot #注冊中心 eureka.server.host1=10.0.2.23 eureka.server.host2=10.0.2.24 eureka.server.port1=8761 eureka.server.port2=8762 eureka.client.service-url.defaultZone=http://${eureka.server.host1}:${eureka.server.port1}/eureka/,http://${eureka.server.host2}:${eureka.server.port2}/eureka/ #feign read timeout(10s) hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000 #feign read timout disable #hystrix.command.default.execution.timeout.enabled=false #開啟eureka client健康檢查 eureka.client.healthcheck=true # 續約到期時間(默認90秒) eureka.instance.lease-expiration-duration-in-seconds=30 # 續約更新時間間隔(默認30秒) eureka.instance.lease-renewal-interval-in-seconds=10將demo-springboot向2個實例同時注冊(只向其中一個實例注冊也是可以的,會自動發現)

啟動demo-springboot查看效果




ok,至此我們的服務注冊與發現集群就已經搭建成功了!


創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的springcloud 之 EurekaServer 服务注册集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。