免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

Eureka Server 實現(xiàn)在線擴容

Eureka Server 實現(xiàn)在線擴容作者:Grey
原文地址:
博客園:Eureka Server 實現(xiàn)在線擴容
CSDN:Eureka Server 實現(xiàn)在線擴容
需求【Eureka Server 實現(xiàn)在線擴容】Eureka 是 Spring Cloud Netflix 套件中的服務(wù)注冊中心組件,作為微服務(wù)的核心組件,需要支持在線擴容的需求 。
本示例模擬 Eureka 從單實例在線擴容到三個實例的過程 。
環(huán)境Java 版本:17
Spring Boot 版本:2.7.5
Spring Cloud 版本:2021.0.4
項目結(jié)構(gòu)和說明

  • eureka-scale-out-online:父項目名稱
    • server : 服務(wù)端模塊
      • src/
      • pom.xml
    • client : 客戶端模塊
      • src/
      • pom.xml
    • config : 配置中心模塊,使用本地配置
      • src/
      • pom.xml
    • pom.xml:父項目 pom 配置
其中 config 項目存放了 server 和 client 的配置,基于 Spring Cloud Config ,方便起見,我們配置成 native,即本地配置模式,所以如果有配置修改,需要重啟 config 項目,如果使用 Git 來托管配置,則無須重啟 。
完整代碼見:Github
單個 Eureka 實例將 config 項目中的 eureka-client.yml 修改為
server:port: 8081spring:application:name: eureka-client1eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/將 config 項目中的 eureka-server-peer1.yml 修改為
server:port: 8761spring:application:name: eureka-servereureka:instance:hostname: localhostpreferIpAddress: trueclient:registerWithEureka: truefetchRegistry: trueserviceUrl:defaultZone: http://localhost:8761/eureka/server:waitTimeInMsWhenSyncEmpty: 0enableSelfPreservation: false依次啟動 config 模塊(運行 ConfigStartApp.java 這個類),server 模塊(運行 ServerStartApp.java 這個類),client 模塊(運行 ClientStartApp.java 這個類),
注:server 模塊在啟動過程中,需要指定 peer1 這個配置文件 。
Eureka Server 實現(xiàn)在線擴容

文章插圖
啟動完畢后,可以通過瀏覽器訪問:http://localhost:8761/
看到目前的服務(wù)注冊情況
Eureka Server 實現(xiàn)在線擴容

文章插圖
目前 Eureka Server 只有一個實例 。
在線擴充到兩個 Eureka 實例保持上述運行環(huán)境,先不做任何重啟動作,由于要增加一個實例,所以將 config 項目中的 eureka-server-peer2.yml 修改為
server:port: 8762eureka:instance:hostname: localhostpreferIpAddress: trueclient:registerWithEureka: truefetchRegistry: trueserviceUrl:defaultZone: http://localhost:8761/eureka/server:waitTimeInMsWhenSyncEmpty: 0enableSelfPreservation: false同時,把 eureka-server-peer1.yml 內(nèi)容調(diào)整為
server:port: 8761spring:application:name: eureka-servereureka:instance:hostname: localhostpreferIpAddress: trueclient:registerWithEureka: truefetchRegistry: trueserviceUrl:defaultZone: http://localhost:8762/eureka/server:waitTimeInMsWhenSyncEmpty: 0enableSelfPreservation: false客戶端需要感知到兩個 Eureka Server 的存在,所以,也要修改 內(nèi)容為
server:port: 8081spring:application:name: eureka-client1eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/配置修改完畢后,
首先,重啟 config 模塊(注:由于配置的是 native 模式,需要重啟,如果用 Git 托管,則無須重啟)
然后啟動 server peer2 實例,啟動時做如下配置
Eureka Server 實現(xiàn)在線擴容

文章插圖
接下來,使用 Eureka 的管理 API,將 client 模塊實例和 server peer1 實例的配置進行熱更新,操作如下
使用命令行或者 Postman 工具,發(fā)送如下請求

經(jīng)驗總結(jié)擴展閱讀