在Spring Cloud(1)——服務(wù)注冊中心這篇文章中日戈,我們已經(jīng)搭建好一個單機(jī)的注冊中心。這篇文章要做的就是把單機(jī)版的注冊中心改造為高可用集群模式孙乖。
我們可以創(chuàng)建三個注冊中心節(jié)點浙炼,每個節(jié)點進(jìn)行兩兩注冊,實現(xiàn)完全對等的效果唯袄,可以達(dá)到集群的最高可用性鼓拧,任何一個節(jié)點掛掉都不會影響服務(wù)的注冊與發(fā)現(xiàn)。
1越妈、服務(wù)器準(zhǔn)備
主機(jī)名 | IP |
---|---|
eureka-server-peer1 | 192.168.31.117 |
eureka-server-peer2 | 192.168.31.146 |
eureka-server-peer3 | 192.168.31.173 |
- 修改各個服務(wù)器的hosts文件季俩,添加主機(jī)名與IP的映射,內(nèi)容如下:
192.168.31.117 eureka-server-peer1
192.168.31.146 eureka-server-peer2
192.168.31.173 eureka-server-peer3
- 開放所需要的8761梅掠、8762酌住、8763端口
修改系統(tǒng)的iptables文件:
# vi /etc/sysconfig/iptables
在192.168.31.117、192.168.31.146阎抒、192.168.31.173分別增加
## microservice-eureka-server
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8761 -j ACCEPT
## microservice-eureka-server
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8762 -j ACCEPT
## microservice-eureka-server
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8763 -j ACCEPT
配置重啟生效
# service iptables restart
以上是針對Linux部署的酪我,如果只是Windows本地,那同樣可以修改hosts文件內(nèi)容
127.0.0.1 eureka-server-peer1
127.0.0.1 eureka-server-peer2
127.0.0.1 eureka-server-peer3
Windows的hosts路徑為:C:\Windows\System32\drivers\etc
2且叁、修改application.yml文件
創(chuàng)建三個注冊中心節(jié)點都哭,分別為peer1、peer2逞带、peer3欺矫,在yml格式文件中,用---分割每個節(jié)點的內(nèi)容展氓,等同于創(chuàng)建了三個文件的效果穆趴。
---
spring:
application:
name: microservice-eureka-server
profiles: peer1
server:
port: 8761
eureka:
instance:
hostname: eureka-server-peer1
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://eureka-server-peer2:8762/eureka/,http://eureka-server-peer3:8763/eureka/
---
spring:
application:
name: microservice-eureka-server
profiles: peer2
server:
port: 8762
eureka:
instance:
hostname: eureka-server-peer2
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://eureka-server-peer1:8761/eureka/,http://eureka-server-peer3:8763/eureka/
---
spring:
application:
name: microservice-eureka-server
profiles: peer3
server:
port: 8763
eureka:
instance:
hostname: eureka-server-peer3
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://eureka-server-peer1:8761/eureka/,http://eureka-server-peer2:8762/eureka/
3、將jar包上傳至服務(wù)器并運行
將jar包上傳至目錄/apps/microservice-eureka-server
啟動:
每臺機(jī)器指定不同的spring.profiles.active啟動參數(shù)
java -jar microservice-eureka-server.jar --spring.profiles.active=peer1
java -jar microservice-eureka-server.jar --spring.profiles.active=peer2
java -jar microservice-eureka-server.jar --spring.profiles.active=peer3
4遇汞、客戶端使用配置
將之前注冊中心單節(jié)點的配置改為多節(jié)點即可未妹,如下:
eureka.client.serviceUrl.defaultZone=http://192.168.31.117:8761/eureka/,http://192.168.31.146:8762/eureka/,http://192.168.31.173:8763/eureka/
效果圖: