今天根據(jù)網(wǎng)上配置Eureka高可用注冊(cè)中心的教程來(lái)試著配置eureka集群起宽。
我的Eureka配置文件如下:
---
spring:
profiles: peer1
application:
name: eureka-server
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
fetch-registry: true
register-with-eureka: false
serviceUrl:
defaultZone: http://localhost:8762/eureka/
---
spring:
profiles: peer2
application:
name: eureka-server
server:
port: 8762
eureka:
instance:
hostname: localhost
client:
fetch-registry: true
register-with-eureka: false
serviceUrl:
defaultZone: http://localhost:8761/eureka/
運(yùn)行時(shí)啟動(dòng)兩個(gè)實(shí)例征讲,profiles分別為peer1和peer2狸窘。
啟動(dòng)后訪問(wèn)localhost:8761阴幌,eureka界面如下:
1.png
訪問(wèn)localhost:8762饿肺,界面如下:
2.png
可見peer1和peer2之間并沒有互相注冊(cè)蒋困,因?yàn)閜eer1和peer2中unavailable-replicas和
available-replicas為空,且我在peer1中注冊(cè)的zuul實(shí)例敬辣,并沒有共享給peer2.
后來(lái)發(fā)現(xiàn)原因是因?yàn)槿绻鹔ostname寫的localhost或者127.0.0.1的話雪标,就會(huì)出現(xiàn)這種問(wèn)題,當(dāng)時(shí)嫌麻煩就用的localhost代替溉跃,坑啊村刨。
這是win10改host的教程,將peer1和peer2都指向localhost之后撰茎,修改Eureka配置如下:
---
spring:
profiles: peer1
application:
name: eureka-server
server:
port: 8761
eureka:
instance:
hostname: peer1
client:
fetch-registry: true
register-with-eureka: false
serviceUrl:
defaultZone: http://peer2:8762/eureka/
---
spring:
profiles: peer2
application:
name: eureka-server
server:
port: 8762
eureka:
instance:
hostname: peer2
client:
fetch-registry: true
register-with-eureka: false
serviceUrl:
defaultZone: http://peer1:8761/eureka/
再次啟動(dòng)嵌牺,訪問(wèn)peer2:8762,看到了peer1:8761的信息和zuul實(shí)例的信息龄糊,問(wèn)題解決