在使用eureka编写微服务程序时,遇到了一个问题,就是在两个eureka_server
相互注册时,每个eureka中要么只显示对方,要么只在一个中显示。
两种配置如下:
# 配置服务名称 == 注册中心server
spring.application.name=eureka_server_copy
# 服务端口号
server.port=7000
# 配置服务实例ip
eureka.instance.hostname=localhost
#是否将eureka注册到注册中心(本自身注册)
eureka.client.register-with-eureka=true
#是否从eureka中获取注册地址(后台已ip显示而不是域名)
eureka.client.fetch-registry=false
# 配置eureka客户端要连接的服务端信息
eureka.client.service-url.defaultZone=http://localhost:9000/eureka/,http://localhost:7000/eureka/
# 配置服务名称 == 注册中心server
spring.application.name=eureka_server
# 服务端口号
server.port=9000
# 配置服务实例ip
eureka.instance.hostname=localhost
#是否将eureka注册到注册中心(本自身注册)
# 将本身注册到注册中心
eureka.client.register-with-eureka=true
#是否从eureka中获取注册地址(后台已ip显示而不是域名)
eureka.client.fetch-registry=false
# 配置eureka客户端要连接的服务端信息
eureka.client.service-url.defaultZone=http://localhost:7000/eureka/,http://localhost:9000/eureka/
我修改了eureka.client.service-url.defaultZone
地址的顺序问题,当本机的端口在前时,只显示对方的,自己不显示,当本机端口的地址在后时只显示在一个上:
出现这个结果的原因是主机名相同并且使用localhost作为注册地址。:
# 配置服务实例ip
eureka.instance.hostname=localhost
eureka.client.service-url.defaultZone=http://localhost:9000/eureka/,http://localhost:7000/eureka/
以上两个时造成注册中心不能相互注册的原因,将主机名随意命名,使用172.0.0.1
代替localhost即可:
eureka.instance.hostname=machine2
#是否将eureka注册到注册中心(本自身注册)
eureka.client.register-with-eureka=true
#是否从eureka中获取注册地址(后台已ip显示而不是域名)
eureka.client.fetch-registry=false
# 配置eureka客户端要连接的服务端信息
eureka.client.service-url.defaultZone=http://127.0.0.1:9000/eureka/,http://127.0.0.1:7000/eureka/
修改后即可互相注册:
. . .
相关推荐
最新推荐
Docker安装MongoDB教程
29天前
VSCode Java自动导入包快捷键
29天前
2022 chrome离线下载包
29天前
wpf 增删改查例子
29天前
强类型语言与模板的前世今生
25天前
系统架构设计 - 系统安全性和保密性设计
25天前
在K8S上部署Web与数据库应用
25天前
ads via 小工具