5.1 簡介
5.2 高可用細集羣搭建
操作流程
1 準備兩個EurekaServer 需要相互註冊
1號server:9000
#模擬兩個EurekaServer
#端口9000 8000
#兩個服務相互註冊
server.port=9000
spring.application.name=eureka-server
eureka.instance.hostname=localhost
#是否將自己註冊到註冊中心
#eureka.client.register-with-eureka=false
#是否從eureka中獲取註冊信息
#eureka.client.fetch-registry=false
#配置暴露給Eureka Client請求的地址
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:8000/eureka/
2號server:8000
#模擬兩個EurekaServer
#端口9000 8000
#兩個服務相互註冊
server.port=8000
spring.application.name=eureka-server
eureka.instance.hostname=localhost
#是否將自己註冊到註冊中心
#eureka.client.register-with-eureka=false
#是否從eureka中獲取註冊信息
#eureka.client.fetch-registry=false
#配置暴露給Eureka Client請求的地址
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:9000/eureka/
2 需要將微服務註冊到兩個EurekaServer上
server.port=9001
#服務名稱
spring.application.name=service-product
#註冊中心訪問地址 多個以逗號分隔
eureka.client.service-url.defaultZone=http://localhost:9000/eureka/,http://localhost:8000/eureka/
#使用ip地址註冊
eureka.instance.prefer-ip-address=true
5.3 細節
5.3.1 在控制檯顯示服務IP
生產者、消費者配置
server.port=9001
#服務名稱
spring.application.name=service-product
#註冊中心訪問地址
eureka.client.service-url.defaultZone=http://localhost:9000/eureka/,http://localhost:8000/eureka/
#使用ip地址註冊
eureka.instance.prefer-ip-address=true
#向註冊中心註冊ip
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}
5.3.2 Eureka的服務剔除問題
生產者、消費者配置
server.port=9001
#服務名稱
spring.application.name=service-product
#註冊中心訪問地址
eureka.client.service-url.defaultZone=http://localhost:9000/eureka/,http://localhost:8000/eureka/
#使用ip地址註冊
eureka.instance.prefer-ip-address=true
#心跳時間默認30s
eureka.instance.lease-renewal-interval-in-seconds=4
#續約到期時間 默認90s
eureka.instance.lease-expiration-duration-in-seconds=9
5.3.3 Eureka的自我保護機制
自我保護機制:超過續約時間沒有發送心跳,15分內達到80%,纔會剔除服務。在開發測試階段一般關閉自我保護機制。
#模擬兩個EurekaServer
#端口9000 8000
#兩個服務相互註冊
server.port=9000
spring.application.name=eureka-server
eureka.instance.hostname=localhost
#是否將自己註冊到註冊中心
#eureka.client.register-with-eureka=false
#是否從eureka中獲取註冊信息
#eureka.client.fetch-registry=false
#配置暴露給Eureka Client請求的地址
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:8000/eureka/
#關閉自我保護機制 開發測試使用
eureka.server.enable-self-preservation=false
#掃描剔除服務的間隔
eureka.server.eviction-interval-timer-in-ms=4000
5.4 Eureka的啓動流程