我注意到很多人问了同样的问题,但是我尝试了他们的方法,但是我的问题仍然存在。
我使用spring-boot + eureka + zuul,
spring.cloud.version:2.0.2。发布
这是Eureka服务器:
@SpringBootApplication
@EnableEurekaServer
@Slf4j
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
log.info("-- EurekaServerApplication started --");
}
}
和适用于eureka服务器的application.yml:
server:
port: 8888
eureka:
client:
registerWithEureka: false
fetchRegistry: false
healthcheck:
enabled: true
service-url:
defaultZone: http://localhost:8888/eureka
然后是Zuul服务器:
@SpringBootApplication
@EnableZuulProxy
@EnableEurekaClient
@Slf4j
public class ZuulServerApplication{
public static void main(String[] args) {
SpringApplication.run(ZuulServerApplication.class, args);
log.info("-- ZuulServerApplication started --");
}
}
和Zuul的application.yml
server:
port: 7777
eureka:
instance:
appname: zuul-server
client:
serviceUrl:
defaultZone: http://localhost:8888/eureka
zuul:
ignoredServices: '*'
routes:
file-management:
path: /file-management/**
serviceId: file-management
和微服务文件管理:
@SpringBootApplication
@EnableEurekaClient
@EnableSwagger2
@Slf4j
public class FileManagementApplication {
public static void main(String[] args) {
SpringApplication.run(FileManagementApplication.class, args);
log.info("-- FileManagement started --");
}
}
application.yml
... some other configs
server:
port: 8081
eureka:
instance:
appname: file-management
client:
serviceUrl:
defaultZone: http://localhost:8888/eureka
我有几天这个问题了,任何帮助将不胜感激!
答案 0 :(得分:1)
研究之后,我解决了我的问题。我将解决方案放在这里,希望这可以帮助人们解决相同的问题。
我如何解决:
:
春天: 应用: 名称:文件管理
:
尤里卡: 客户: fetchRegistry:true
然后它起作用。
原因是很多折腾,示例基于某些旧版本,所以我猜在新版本中它们做了一些调整。
因此,对于像我一样遇到同样问题的人们,请确保您阅读的文档或示例与您使用的版本相匹配。希望这个答案可以对某人有所帮助。
答案 1 :(得分:0)
此配置没有任何问题:
server:
port: 8881
eureka:
client:
eureka-connection-idle-timeout-seconds: 60
serviceUrl:
defaultZone: http://localhost:8882/eureka/
healthcheck:
enabled: true
您可以查看我的仓库here。
您还可以尝试注释应用名称:文件管理和对齐defaultZone。如果格式不正确,有时yml属性将无法加载。