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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

springCloud Finchley 实战入门(基于springBoot 2.0.3)【三 Eureka-高可用服务注册中心】...

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springCloud Finchley 实战入门(基于springBoot 2.0.3)【三 Eureka-高可用服务注册中心】... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Eureka高可用注冊中心

Eureka Server的設計一開始就考慮到了高可用的問題,在eureka服務治理設計中,所有的節點即是是服務提供方,也是服務消費方。

在部署高可用注冊中心前我們先需要準備一下,本地環境。因為我們實例是在單臺電腦上的,所以需要模擬墮胎服務器,我們需要修改一下本機的host文件。
windows的host文件在C:\Windows\System32\drivers\etc\hosts
在host文件后面加上

127.0.0.1 peer1 127.0.0.1 peer2

修改完成,我們就來嘗試搭建高可用的服務注冊中心集群。接著上一章的服務中心的基礎上面擴展,來構建一個雙節點服務注冊中心集群。

在resource目錄下面:
創建application-peer1.yml配置文件,作為peer1服務中心的配置,并將serviceId指向peer2.

server:port: 8762 spring:application:name: service-register eureka:instance:prefer-ip-address: falsehostname: peer1client:fetch-registry: trueregister-with-eureka: trueserviceUrl:defaultZone: http://peer2:8763/eureka/server:wait-time-in-ms-when-sync-empty: 0

創建application-peer2.yml配置文件,作為peer2服務中心的配置,并將serviceId指向peer1.

server:port: 8763 spring:application:name: service-register eureka:instance:prefer-ip-address: falsehostname: peer2client:fetch-registry: trueregister-with-eureka: trueserviceUrl:defaultZone: http://peer1:8762/eureka/server:wait-time-in-ms-when-sync-empty: 0

接下來通過spring.profiles.active屬性來分別啟動peer1和peer2.
我啟動的做法是不在idea里啟動,而是把服務注冊中心打包,通過cmd啟動。
maven打包


15324251491.jpg

然后通過cmd命令分別啟動服務
[圖片上傳中...(15324253911.jpg-db47b5-1532490920148-0)]


15324254351.jpg

java -jar eureka-register-center-0.0.1-SNAPSHOT.jar --spring.profiles.active

15324253911.jpg

java -jar eureka-register-center-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

兩個服務啟動后,我們訪問一下http://localhost:8762/或者http://localhost:8763/

15324255261.jpg

這里可以看到兩個注冊中心部署相互注冊成功了。

關閉其中一個服務我們可以看到對應的節點變成不可用了。


15324256591.jpg

設置多個服務注冊中心后,服務提供者還需要做一些簡單的配置才能將服務注冊到Eureka server集群中。

在這里我們按照前面的做法,重新新建一個服務提供者module,命名為"eureka-bussniss-service-user"當作是我們平時項目中用戶服務模塊,專門處理用戶相關服務的。
因為目前服務注冊中心是多個的,所以我們在服務提供者的配置文件上還需要做一些配置。
添加下面的屬性,表示把服務注冊到指定的注冊中心,注冊中心地址用逗號隔開;

eureka.client.serviceUrl.defaultZone=http://peer1:8762/eureka/,http://peer2:8763/eureka/

完整的application.yml配置如下:

spring:application:name: service-user server:port: 8802 eureka:client:serviceUrl:defaultZone: http://peer1:8762/eureka/,http://peer2:8763/eureka/

記得主類添加@EnableEurekaClient注解,然后在確保服務注冊中心正常的情況下,啟動該項目。如果項目沒有報錯那就說明我們的配置應該是正常的。打開http://localhost:8763/或者http://localhost:8762/我們可以看到service-user已經同時注冊到了服務注冊中心。

15324796051.jpg

此時若斷開peer1服務,由于service-user服務也向peer2注冊,因此peer2上面的其他服務依然能夠訪問到service-user。從而實現了注冊中心的高可用。

項目的源碼

服務提供者已經完成了,下一篇我們將會實現服務消費者,以及使用ribbon實現負載均衡。

總結

以上是生活随笔為你收集整理的springCloud Finchley 实战入门(基于springBoot 2.0.3)【三 Eureka-高可用服务注册中心】...的全部內容,希望文章能夠幫你解決所遇到的問題。

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