微服务框架的系统部署比较麻烦,开发人员一般不会在本机部署一整套环境,而是会连接到局域网内或者外网的开发环境进行开发。但是,直接连接到 Eureka 注册中心,可能会影响共享开发环境。因为开发人员正在开发的项目也会被注册到共享开发环境,这会导致负载均衡会将一部分访问导入开正在开发的项目,造成其他开发人员的开发受到影响。比如你正在修改某个接口,这个接口的代码暂时不能正常运行,这时候其他开发人员就可能访问到这个暂时不可用的服务接口,导致出现一些莫名其妙的错误。而且,这种错误一般还不好排查。
解决的方案是,关闭正在开发的这个项目的 Eureka 注册功能,但保留 Eereka 的发现功能。即将当前项目只作为客户端来使用,可以访问其他服务,但本身不提供服务。
配置添加如下:
# 不将自己注册到中心
eureka.client.register-with-eureka=false
# 获取其他服务的注册信息
eureka.client.fetchRegistry=true