我已经创建了两个Eureka服务器作为主服务器和辅助服务器。我已经在Micro services bootstrap.yml中配置了我的服务URL,如下所示。
spring:
application:
name: ilpproxy
# Discovery Server Access
eureka:
client:
serviceUrl:
defaultZone: http://10.83.134.39:8761/eureka/,http://10.83.143.221:8761/eureka/
cloud:
config:
uri: ${vcap.services.${PREFIX:}configserver.credentials.uri:http://user:password@localhost:8888}
我的服务仅在主要Eureka中注册,未在次要中列出。如果我将主Eureka配置为第一个值,则服务将在两个Eureka实例中列出。
下面是尤里卡的application.yml
server:
port: 8761
security:
user:
password: ${eureka.password} # Don't use a default password in a real app
info:
component: Discovery Server
logging:
level:
root: WARN
com.pearson: WARN
com.netflix.hystrix: WARN
file: /data/logs/eureka.log
eureka:
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
waitTimeInMsWhenSyncEmpty: 0
enableSelfPreservation: false
password: ${SECURITY_USER_PASSWORD:password}
instance:
hostname: 127.0.0.1
---
spring:
profiles: peer # not standalone
eureka:
instance:
hostname: 127.0.0.1
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://user:${eureka.password}@127.0.0.1:8761/eureka/
---
spring:
profiles: other # not standalone
server:
port: 8762
eureka:
instance:
hostname: 127.0.0.1
nonSecurePort: ${server.port}
client:
serviceUrl:
defaultZone: http://user:${eureka.password}@127.0.1.1:8761/eureka/
---
spring:
profiles: local # connect to remote peer
eureka:
instance:
hostname: ${localhost.hostname:${localhost.ngrok}.ngrok.com}
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://user:${eureka.password}@${PREFIX:}eureka.cfapps.io/eureka/
---
spring:
profiles: zone_d # connect to remote peer
server:
port: 8761
eureka:
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://10.83.143.221:8761/eureka/,http://10.83.134.39:8761/eureka/
server:
waitTimeInMsWhenSyncEmpty: 0
password: ${SECURITY_USER_PASSWORD:password}
logging:
level:
root: WARN
com.pearson: WARN
com.netflix.hystrix: WARN
file: /data/logs/eureka.log
请帮助解决此问题。
答案 0 :(得分:3)
问题出在Eureka配置中。由于用于Spring-boot 1.0的先前配置,对等感知无法正常运行。如下所示更正application.yml解决了该问题。下面的设置要求每个Eureka节点相互注册,以使对等端意识正常运行。
server:
port: 8761
security:
user:
password: ${eureka.password} # Don't use a default password in a real app
info:
component: Discovery Server
logging:
level:
root: INFO
com.pearson: INFO
com.netflix.hystrix: WARN
file: /data/logs/eureka.log
eureka:
client:
serviceUrl:
defaultZone: http://10.83.104.765:8761/eureka/
server:
waitTimeInMsWhenSyncEmpty: 0
enableSelfPreservation: false
---
spring:
profiles: zone_d # connect to remote peer
server:
port: 8761
eureka:
client:
serviceUrl:
defaultZone: http://10.83.33.109:8761/eureka/
server:
waitTimeInMsWhenSyncEmpty: 0
enableSelfPreservation: false