SpringCloud實現Eureka集群配置
現在已經成功的實現了一個Eureka伺服器,但是現在屬於單節點的服務運行過程,如果說現在單節點的Eureka出現了錯誤,導致無法使用,那麼對於所有的微服務架構就將出現整體的癱瘓,這樣就需要進行Eureka集群搭建,同時利用集群可以有效的實現HA的處理機制,如果要進行集群的搭建一定要選擇兩台或以上的電腦完成。
【microcloud-eureka-7001】為了方便進行Eureka操作,建議將「microcloud-eureka-7001」進行複製:microcloud-eureka-7002、microcloud-eureka-7003
修改hosts配置文件,進行多個主機名稱的定義:
127.0.0.1eureka-7001.com
127.0.0.1eureka-7002.com
127.0.0.1eureka-7003.com
【microcloud-eureka-7001】修改application.yml配置文件,這個配置文件主要注意埠號以及Eureka服務的註冊位置。
server:
port: 7001
eureka:
instance: #eureka實例定義
hostname: eureka-7001.com #設置清理的間隔時間,默認這個時間使用的毫秒單單位(默認是60秒)
client: #客戶端進行Eureka註冊的配置
service-url:
defaultZone: http://eureka:eureka@eureka-7002.com:7002/eureka,http://eureka:eureka@eureka-7003.com:7003/eureka
register-with-eureka: false #當前的微服務不註冊到eureka之中
fetch-registry: false
server:
enable-self-preservation: false #是否要設置成保護模式
eviction-interval-timer-in-ms: 60000 #不通過eureka獲取註冊信息
spring:
application:
name: microcloud-eureka-7001
security:
user:
name: eureka
password: eureka
【microcloud-eureka-7002】修改application.yml配置文件,並修改主類名稱。
server:
port: 7002
eureka:
instance: #eureka實例定義
hostname: eureka-7002.com #設置清理的間隔時間,默認這個時間使用的毫秒單單位(默認是60秒)
client: #客戶端進行Eureka註冊的配置
service-url:
defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka,http://eureka:eureka@eureka-7003.com:7003/eureka
register-with-eureka: false #當前的微服務不註冊到eureka之中
fetch-registry: false
server:
enable-self-preservation: false #是否要設置成保護模式
eviction-interval-timer-in-ms: 60000 #不通過eureka獲取註冊信息
spring:
application:
name: microcloud-eureka-7001
security:
user:
name: eureka
password: eureka
【microcloud-eureka-7003】修改application.yml配置文件,並修改主類名稱。
server:
port: 7003
eureka:
instance: #eureka實例定義
hostname: eureka-7003.com #設置清理的間隔時間,默認這個時間使用的毫秒單單位(默認是60秒)
client: #客戶端進行Eureka註冊的配置
service-url:
defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka,http://eureka:eureka@eureka-7002.com:7002/eureka
register-with-eureka: false #當前的微服務不註冊到eureka之中
fetch-registry: false
server:
enable-self-preservation: false #是否要設置成保護模式
eviction-interval-timer-in-ms: 60000 #不通過eureka獲取註冊信息
spring:
application:
name: microcloud-eureka-7003
security:
user:
name: eureka
password: eureka
啟動所有的Eureka服務,而後進入到每一個服務的後台去觀察運行的副本效果。
登陸7001控制台:http://eureka:eureka@eureka-7001.com:7001/
登陸7002控制台:http://eureka:eureka@eureka-7002.com:7002/
登陸7003控制台:http://eureka:eureka@eureka-7003.com:7003/
【microcloud-provider-dept-8001】修改application.yml配置文件,進行多台主機註冊。
server:
port: 8001
mybatis:
mapper-locations: # 所有的mapper映射文件
- classpath:mybatis/mapper/**/*.xml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mldn_1?serverTimezone=UTC # 資料庫連接地址
username: root # 資料庫用戶名
password: root # 資料庫連接密碼
dbcp2: # 進行資料庫連接池的配置
min-idle: 5 # 資料庫連接池的最小維持連接數
initial-size: 5 # 初始化提供的連接數
max-total: 5 # 最大的連接數
max-wait-millis: 200 # 等待連接獲取的最大超時時間
application:
name: microcloud-provider-dept
eureka:
client: #客戶端進行Eureka註冊的配置
service-url:
defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka,http://eureka:eureka@eureka-7002.com:7002/eureka,http://eureka:eureka@eureka-7003.com:7003/eureka
instance:
instance-id: dept-8001.com #在信息列表中顯示主機名稱
prefer-ip-address: true #訪問的路徑變為IP地址
lease-renewal-interval-in-seconds: 2 #設置心跳的時間間隔(默認是30秒)
lease-expiration-duration-in-seconds: 5 #如果現在超過了5秒的間隔(默認90秒)
info:
app.name: gwolf-microcloud
build.artifactId: $project.artifactId$
build.version: $project.version$
運行之後該微服務會出現在所有的Eureka主機之中。這樣即使某一台Eureka出現了問題,那麼依然可以保證服務可用。
TAG:Adolph談JAVA高端 |