我正在制作一组Spring Cloud + Netflix OSS应用程序的原型,并且遇到了Eureka的麻烦。在我们的设置中,我们有一个Spring Cloud Config Server + Eureka Server,然后是两个利用该服务器组件进行引导和服务发现的模块。
我遇到的问题是,如果我旋转起来尤里卡服务器的两个实例,并尝试将二者进行配对(基于两个对等感知尤里卡服务器中的文档),他们不相互同步。请参阅下面的配置和/或GitHub上的代码。
本质上,Peer1启动并看起来不错。Peer2将启动,并且看起来不错,双方在服务中彼此展示。但是,如果“ UserService”模块启动并向Peer1注册,Peer2将永远看不到它。如果然后旋转指向Peer2的“ Web”模块,它将永远无法解析UserService。他们基本上是孤立地行动。
我尝试了几种serviceUrl在服务器和Eureka服务器实例上同时设置两者的组合,但无济于事。我是在配置错误吗?
对等1 /默认配置:```server: port: 8888
eureka: dashboard: path: /dashboard instance: hostname: peer1 leaseRenewalIntervalInSeconds: 3 client: serviceUrl: defaultZone: ${eureka.server.serviceUrl:http://localhost:${server.port}/eureka/} server: serviceUrl: defaultZone: http://localhost:${server.port}/eureka/ peer2: http://peer2/eureka/ waitTimeInMsWhenSyncEmpty: 0
spring: application: name: demo-config-service profiles: active: native # required for Spring Cloud Bus rabbitmq: host: ${DOCKER_IP:192.168.59.103} port: 5672 username: guest password: guest virtualHost: / cloud: config: server: prefix: /configs native: searchLocations: /Users/dave/workspace/oss/distributed-spring/modules/config-server/src/main/resources/testConfigs
对等2配置:
server: port: 8889
eureka: dashboard: path: /dashboard instance: hostname: peer2 leaseRenewalIntervalInSeconds: 3 client: serviceUrl: defaultZone: ${eureka.server.serviceUrl:http://localhost:${server.port}/eureka/} server: serviceUrl: defaultZone: http://localhost:8888/eureka/ peer1: http://peer1/eureka/ waitTimeInMsWhenSyncEmpty: 0
```