SpringCloud 學習系列(二)
阿新 • • 發佈:2018-12-19
1、建立application-peer1.properties,作為peer1服務中心的配置,並將serviceUrl指向peer2
spring.application.name=spring-cloud-eureka
server.port=8000
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:8001/eureka/
2、建立application-peer2.properties,作為peer2服務中心的配置,並將serviceUrl指向peer1
spring.application.name=spring-cloud-eureka server.port=8001 eureka.instance.hostname=peer2 eureka.client.serviceUrl.defaultZone=http://peer1:8000/eureka/
3、host轉換
在hosts檔案中加入如下配置
127.0.0.1 peer1
127.0.0.1 peer2
4、打包啟動
依次執行下面命令
#打包
mvn clean package
# 分別以peer1和peeer2 配置資訊啟動eureka
java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
依次啟動完成後,瀏覽器輸入:http://localhost:8000/
根據圖可以看出peer1的註冊中心DS Replicas已經有了peer2的相關配置資訊,並且出現在available-replicas中。我們手動停止peer2來觀察,發現peer2就會移動到unavailable-replicas一欄中,表示peer2不可用。
到此雙節點的配置已經完成。
eureka叢集使用
在生產中我們可能需要三臺或者大於三臺的註冊中心來保證服務的穩定性,配置的原理其實都一樣,將註冊中心分別指向其它的註冊中心。這裡只介紹三臺叢集的配置情況,其實和雙節點的註冊中心類似,每臺註冊中心分別又指向其它兩個節點即可,使用application.yml來配置。
application.yml配置詳情如下:
---
spring:
application:
name: spring-cloud-eureka
profiles: peer1
server:
port: 8000
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:8001/eureka/,http://peer3:8002/eureka/
---
spring:
application:
name: spring-cloud-eureka
profiles: peer2
server:
port: 8001
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1:8000/eureka/,http://peer3:8002/eureka/
---
spring:
application:
name: spring-cloud-eureka
profiles: peer3
server:
port: 8002
eureka:
instance:
hostname: peer3
client:
serviceUrl:
defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/
分別以peer1、peer2、peer3的配置引數啟動eureka註冊中心。
java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3
依次啟動完成後,瀏覽器輸入:http://localhost:8000/
效果圖如下:
可以在peer1中看到了peer2、peer3的相關資訊。至此eureka叢集也已經完成了