通過配置文件多集羣搭建
在 application.properties 中指定要加載的配置文件
#加載的配置文件,配置文件必須以 application- 開頭,值爲- 後面的值
spring.profiles.active=eur8100
這裏創建了三個,分別是 application-eur8100.properties、application-eur8200.properties、application-eur8300.properties
通過指定,來加載不同的配置文件。
注意:需要去掉pom 中的 dev-tool 依賴,不然修改配置文件造成熱部署。
eureka.server.enable-self-preservation 參數
#關閉自我保護
# 設置 false 時,頁面會提示:THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
eureka.server.enable-self-preservation=false
該參數設置爲 true就不會出現下面這種了
配置文件:
application.properties
#加載的配置文件,配置文件必須以 application- 開頭,值爲- 後面的值
spring.profiles.active=eur8100
application-eur8100.properties
#是否將自己註冊到Eureka Server,默認爲true,由於當前就是server,故而設置成false,表明該服務不會向eureka註冊自己的信息
# 爲 true 的話 在頁面的 Instances currently registered with Eureka 裏面可以看到自己
eureka.client.register-with-eureka=true
#對應的服務器未啓動或異常時,會出現 unavailable-replicas
#設置服務註冊中心的URL,用於client 和server端交流
# 服務器名+端口號 : eureka.instance.hostname + server.port/eureka
#eureka.client.service-url.defaultZone=http://eureka1.com:8101/eureka
# 向第二臺服務器註冊
eureka.client.service-url.defaultZone=http://eureka1.com:8101/eureka,http://eureka3.com:8301/eureka,http://eureka1.com:8101/eureka
#是否從eureka server獲取註冊信息,由於單節點,不需要同步其他節點數據,用false
eureka.client.fetch-registry=false
#設置服務註冊中心的URL,用於client和server端交流
#關閉自我保護
# 設置 false 時,頁面會提示:THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
eureka.server.enable-self-preservation=false
#名字必須一樣,才能被認爲是同一個集羣的
spring.application.name=EurekaServer
#tomcat 端口
server.port=8101
#服務器主機名
eureka.instance.hostname=eureka1.com
eureka.instance.instance-id=eureka-8100
eureka.instance.metadata-map.dalao=malaoshi
#安全認證
#spring.security.user.name=yiming
#spring.security.user.password=123
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
#spring.boot.admin.client.url=http://localhost:8080
application-eur8200.properties
#是否將自己註冊到Eureka Server,默認爲true,由於當前就是server,故而設置成false,表明該服務不會向eureka註冊自己的信息
eureka.client.register-with-eureka=true
#是否從eureka server獲取註冊信息,由於單節點,不需要同步其他節點數據,用false
eureka.client.fetch-registry=false
#設置服務註冊中心的URL,用於client和server端交流
server.port=8201
#服務器主機名
eureka.instance.hostname=eureka2.com
eureka.instance.instance-id=eureka-8200
spring.application.name=EurekaServer
eureka.instance.metadata-map.dalao=malaoshi
#設置服務註冊中心的URL,用於client 和server端交流 自己的
#eureka.client.service-url.defaultZone=http://eureka2.com:8201/eureka
#別人的
eureka.client.service-url.defaultZone=http://eureka1.com:8101/eureka,http://eureka3.com:8301/eureka,http://eureka1.com:8101/eureka
#安全認證
#spring.security.user.name=yiming
#spring.security.user.password=123
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
#spring.boot.admin.client.url=http://localhost:8080
啓動多個spring boot 就可以了。如果不會啓動多個的,可以按照下面
Renew
續租,心跳
eureka 客戶端需要每30秒發送一次心跳來續租,告訴服務端自己還活着。
Fetch Registry
eureka 客戶端從服務器獲取註冊表信息並將其緩存到本地,之後,客戶端使用這些信息來查找其它服務。
通過獲取上一個獲取週期和當前獲取週期之間的增量更新,每30秒更新信息。
新建一個client
瀏覽器輸入 eureka.client.service-url.defaultZone=http://eureka1.com:8101/eureka 配置文件後面的 http://eureka1.com:8101/eureka/apps 可以查看到相關信息。注意是server地址哦