我在调用我的微服务时遇到了问题。
我运行服务器,我的微服务正确注册:
但是当我尝试在微服务中调用一个方法时,它失败了Charts
。
这就是我的UnknownHostException
和RestTemplate
bean的制作方式:
MsImageService
这就是我在服务中自动装配它的方式:
@Configuration
@EnableAsync
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MvcConfig extends WebMvcConfigurerAdapter {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
@Bean
public MsImageService msImageService() {
return new MsImageService("http://IMAGES-MICROSERVICE");
}
}
这些是我在服务器上使用的属性:
@Autowired
@LoadBalanced
private RestTemplate restTemplate;
这是我服务中的属性:
server.port=8761
spring.thymeleaf.enabled=false
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.default-zone=http://${eureka.instance.hostname}:${server.port}/eureka/
logging.level.com.netflix.eureka=INFO
logging.level.com.netflix.discovery=INFO
感谢任何帮助!
谢谢!
答案 0 :(得分:0)
在服务器属性中,尝试删除以下行。它使您服务器内的eureka客户端无法从eureka服务器获取其他服务器信息。
eureka.client.fetch-registry=false
同时检查您的Application类服务器是否有@EanbleEurekaClient
或@EnableDiscoveryClient
注释。您的服务器应用程序也必须是Eureka客户端才能获取其他人。
从服务属性中删除以下行。根本不需要覆盖instance-id(但是,它可能与您的问题无关)
eureka.instance.instance-id=${spring.application.name}
如果您需要完整示例,请尝试检查此example代码。 (Readme.md是用韩文写的,但代码非常简单。所以没有自述文件就可以读取代码没有问题)