Spring clouud eureka feign调用问题

最近在学习使用spring cloud 的时候遇到这样一个问题,项目划分了3个模块 注册中心、服务提供方、服务消费方.
分别启动3个项目后 在注册中心的web管理页面 能看到服务提供方和服务消费方都已经注册上来了。但是 当服务消费方调用方法时,通过日志看到是以服务提供方的别名为IP地址发起调用的 一调用就报错 请各位大神们帮忙看看 最好能给我讲讲为什么会出现这个问题

注册中心启动类

 * 注册中心启动类
 *
 */
@EnableEurekaServer
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

注册中心配置

server.port=8001
#自我注册
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#
eureka.server.enable-self-preservation=true
eureka.server.eviction-interval-timer-in-ms=60000

#关闭自我保护
eureka.server.enableSelfPreservation=false

eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/


服务提供方启动类

@EnableDiscoveryClient
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

服务提供方Rest接口

@RequestMapping("menu")
public class BMenuController {
    @Autowired
    private IBMenuService menuService;

    private static final Logger logger = LoggerFactory.getLogger(BMenuController.class);

    @RequestMapping("/selectById/{id}")
    public BMenu selectById(@PathVariable("id") Integer id) {
        logger.info("数据访问层  菜单通过ID获取 调用  id:[{}]", id);
        return menuService.selectById(id);
    }

服务提供方配置:

spring.application.name=ic-generic
#服务注册的Eureka Server地址
#eureka.client.serviceUrl.defaultZone=http://hlwic:hlwic@localhost:8001/eureka
eureka.client.serviceUrl.defaultZone=http://localhost:8001/eureka

server.port=8002

服务消费方启动类:

@EnableDiscoveryClient
@EnableFeignClients
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}


服务消费方 feign接口:

@FeignClient("ic-generic")
public interface IBMenuService {

    @RequestMapping("/menu/selectById/{id}")
    public BMenu selectById(@PathVariable("id") Integer id);

服务消费方配置:

spring.application.name=ic-app
server.port=8005
eureka.client.serviceUrl.defaultZone=http://localhost:8001/eureka/

图片说明

异常信息:

```2017-11-03 11:25:13.827 INFO 12140 --- [nio-8005-exec-4] com.hlw.ic.app.facade.BMenuController : 控制器接收到app端发起的通过id查询菜单请求 params[{"id":1}]
2017-11-03 11:25:22.483 WARN 12140 --- [nio-8005-exec-4] com.hlw.ic.app.facade.BMenuController : app端发起的通过id查询菜单请求 发生异常 params[{"id":1}]

feign.RetryableException: connect timed out executing GET http://ic-generic/menu/selectById/1
at feign.FeignException.errorExecuting(FeignException.java:67) ~[feign-core-9.5.0.jar:na]
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:104) ~[feign-core-9.5.0.jar:na]
at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76) ~[feign-core-9.5.0.jar:na]
at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103) ~[feign-core-9.5.0.jar:na]
at com.sun.proxy.$Proxy82.selectById(Unknown Source) ~[na:na]
at com.hlw.ic.app.facade.BMenuController.queryById(BMenuController.java:74) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) [spring-boot-1.5.4.RELEASE.jar:1.5.4.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110) [spring-boot-actuator-1.5.4.RELEASE.jar:1.5.4.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106) [spring-boot-actuator-1.5.4.RELEASE.jar:1.5.4.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.15.jar:8.5.15]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.15.jar:8.5.15]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_131]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_131]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_131]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_131]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_131]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_131]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_131]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_131]
at sun.net.NetworkClient.doConnect(NetworkClient.java:175) ~[na:1.8.0_131]
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463) ~[na:1.8.0_131]
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558) ~[na:1.8.0_131]
at sun.net.www.http.HttpClient.(HttpClient.java:242) ~[na:1.8.0_131]
at sun.net.www.http.HttpClient.New(HttpClient.java:339) ~[na:1.8.0_131]
at sun.net.www.http.HttpClient.New(HttpClient.java:357) ~[na:1.8.0_131]
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202) ~[na:1.8.0_131]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138) ~[na:1.8.0_131]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032) ~[na:1.8.0_131]
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966) ~[na:1.8.0_131]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546) ~[na:1.8.0_131]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) ~[na:1.8.0_131]
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[na:1.8.0_131]
at feign.Client$Default.convertResponse(Client.java:152) ~[feign-core-9.5.0.jar:na]
at feign.Client$Default.execute(Client.java:74) ~[feign-core-9.5.0.jar:na]
at org.springframework.cloud.netflix.feign.ribbon.FeignLoadBalancer.execute(FeignLoadBalancer.java:80) ~[spring-cloud-netflix-core-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at org.springframework.cloud.netflix.feign.ribbon.FeignLoadBalancer.execute(FeignLoadBalancer.java:48) ~[spring-cloud-netflix-core-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at com.netflix.client.AbstractLoadBalancerAwareClient$1.call(AbstractLoadBalancerAwareClient.java:109) ~[ribbon-loadbalancer-2.2.2.jar:2.2.2]
at com.netflix.loadbalancer.reactive.LoadBalancerCommand$3$1.call(LoadBalancerCommand.java:303) ~[ribbon-loadbalancer-2.2.2.jar:2.2.2]
at com.netflix.loadbalancer.reactive.LoadBalancerCommand$3$1.call(LoadBalancerCommand.java:287) ~[ribbon-loadbalancer-2.2.2.jar:2.2.2]
at rx.internal.util.ScalarSynchronousObservable$3.call(ScalarSynchronousObservable.java:231) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.util.ScalarSynchronousObservable$3.call(ScalarSynchronousObservable.java:228) ~[rxjava-1.1.10.jar:1.1.10]
at rx.Observable.unsafeSubscribe(Observable.java:10211) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeConcatMap$ConcatMapSubscriber.drain(OnSubscribeConcatMap.java:286) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeConcatMap$ConcatMapSubscriber.onNext(OnSubscribeConcatMap.java:144) ~[rxjava-1.1.10.jar:1.1.10]
at com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:185) ~[ribbon-loadbalancer-2.2.2.jar:2.2.2]
at com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:180) ~[ribbon-loadbalancer-2.2.2.jar:2.2.2]
at rx.Observable.unsafeSubscribe(Observable.java:10211) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:94) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:42) ~[rxjava-1.1.10.jar:1.1.10]
at rx.Observable.unsafeSubscribe(Observable.java:10211) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OperatorRetryWithPredicate$SourceSubscriber$1.call(OperatorRetryWithPredicate.java:127) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.schedulers.TrampolineScheduler$InnerCurrentThreadScheduler.enqueue(TrampolineScheduler.java:73) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.schedulers.TrampolineScheduler$InnerCurrentThreadScheduler.schedule(TrampolineScheduler.java:52) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OperatorRetryWithPredicate$SourceSubscriber.onNext(OperatorRetryWithPredicate.java:79) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OperatorRetryWithPredicate$SourceSubscriber.onNext(OperatorRetryWithPredicate.java:45) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.util.ScalarSynchronousObservable$WeakSingleProducer.request(ScalarSynchronousObservable.java:276) ~[rxjava-1.1.10.jar:1.1.10]
at rx.Subscriber.setProducer(Subscriber.java:209) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.util.ScalarSynchronousObservable$JustOnSubscribe.call(ScalarSynchronousObservable.java:138) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.util.ScalarSynchronousObservable$JustOnSubscribe.call(ScalarSynchronousObservable.java:129) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) ~[rxjava-1.1.10.jar:1.1.10]
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) ~[rxjava-1.1.10.jar:1.1.10]
at rx.Observable.subscribe(Observable.java:10307) ~[rxjava-1.1.10.jar:1.1.10]
at rx.Observable.subscribe(Observable.java:10274) ~[rxjava-1.1.10.jar:1.1.10]
at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:445) ~[rxjava-1.1.10.jar:1.1.10]
at rx.observables.BlockingObservable.single(BlockingObservable.java:342) ~[rxjava-1.1.10.jar:1.1.10]
at com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:117) ~[ribbon-loadbalancer-2.2.2.jar:2.2.2]
at org.springframework.cloud.netflix.feign.ribbon.LoadBalancerFeignClient.execute(LoadBalancerFeignClient.java:63) ~[spring-cloud-netflix-core-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:97) ~[feign-core-9.5.0.jar:na]
... 70 common frames omitted

2017-11-03 11:25:22.724 INFO 12140 --- [nio-8005-exec-4] com.hlw.ic.app.facade.BMenuController : 控制器接收到app端发起的通过id查询菜单请求 处理完成 耗时[8760] params[{"id":1}] 响应信息[{"code":-1,"mess":"异常"}]



1个回答

服务消费方的启动类缺少@SpringBootApplication注解。具体可对照以下示例进行配置。

http://book.itmuch.com/2%20Spring%20Cloud/2.3.2%20Feign.html

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring cloud eureka feign 实战
使用spring cloud中的eureka/feign/maven 构建实战例子,注意是采用maven,UserApiWeb(消费者)去调用UserApiImpl(提供者),UserApiEureka(注册中心),UserApi(api接口),消费者和提供者都是依赖接口来开发的。估计我是第一上传该资源的。
Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和E
springcloud,eureka,feign整合
对于springcloud,eureka,feign的整合。。。。。。。。。。。。。。。。。。。
Eureka、Ribbon和Feign的常见问题
1. Eureka 1.1 Eureka Environment的配置: eureka.environment: 字符串 参考文档: https://github.com/Netflix/eureka/wiki/Configuring-Eureka 1.2 Eureka DataCenter的配置: eureka.datacenter: cloud https://github.co...
eureka与feign实现负载均衡
上一篇博文,看了ribbon借助于RESTTemplate实现负载均衡 这篇文章,看下feign实现的负载均衡效果 对比与ribbon的区别,可能主要在于feign这边多了个注解 @EnableFeignClients,接下来详细看示例过程 springboot 2.1.0.RELEASE springcloud Greenwich.M1 pom依赖文件 <parent&gt...
Eureka客户端-服务消费者(Feign)
1、pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.0.RELE...
Springcloud 之 eureka注册中心加feign调用
     前几天听朋友们议论Eureka 2.0闭源,但由于项目中没用到Springcloud,也就对Eureka一无所知,所以抽空了解了一下Eureka,感觉很不错,而且feign默认集成了Ribbon负载均衡。 一、创建Eureka注册中心 1.创建一个maven项目,在pom.xml添加依赖jar文件 <dependencies> <!--eureka ...
spring cloud中feign调用超时问题
在zuul网关模块以及需要调用其他微服务的模块配置: # 配置Ribbon超时时间 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 # 对所有操作请求都进行重试 OkToRetryOnAllOperations: true # 对当前实例的重试次数 MaxAutoRetries: 1 # 切换实例的重试次数 Ma...
SpringCloud eureka mybatis zuul feign
SpringCloud eureka zuul feign 负载均衡 微服务
feign,ribbon和eureka的一些理解
遇到一个问题,比如多版本发布的时候,怎么过滤出符合要求的版本? 网上的很复杂,其实主要是要理解到 ribbon 是“嵌”在feign里的; 那么通过ribbon过滤版本的时候,实际上 需要修改的这一部分的代码和feign调用端在一起; 要理解: feign的一次调用,是ribbon先去eureka server获取了对应的服务实例列表;然后feign再从这些服务实例中通过负载均衡规则选取其中一个...
Eureka基本使用 结合feign
eureka Server 服务注册与发现服务器代码 spring boot 2.0.4 1、pom  springBoot 2.0.4,同样属于springBoot-web  spring-cloud... ... <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> ... ...
Ribbon、Feign和Eureka实现负载均衡
现有两个SpringBoot应用,应用 A和应用B:应用A通过Feign远程调用应用B,但如果应用B单个应用无法支撑应用A的大量请求,则可如下实现应用B的多实例。1.应用B多个实例都注册到同一个Eureka,且所有实例的配置文件中的:spring.application.name都相同:spring.application.name: appb2. 所有的应用B启动类都增加EnableDiscov...
feign调用问题\超时
1、项目结构 每个微服务是provider情况下有一个client模块(里面含有定义好的feignclient 接口)  专门打包出去给其他微服务消费 这样的话 其他需要调用的微服务只要把这个client jar包引入即可,   2、在其他微服务中 引入clientXX.jar   这时候有一个坑, 就是 @EnableFeignClients这个注解默认是只扫描项目启动applicatio...
Feign调用
1. org.springframework.cloud spring-cloud-starter-openfeign 2.0.1.RELEASE 2.@FeignClient(value = “bank-user”) public interface BankUserService { @PostMapping("/card/getBillNum") Object getBillNum(@Re...
spring cloud eureka zuul feign Service注入Demo
相对比较完整的项目DEMO从 动态路由 远程服务调用到 链接数据库
走进Spring Cloud之五 eureka Feign(服务调用者)(Greenwich版本)
走进Spring Cloud之五 eureka Feign(服务调用者)(Greenwich版本)Feignservice-consumermoudlepom.xmlapplication.ymlConsumerExampleApplication.javaFeignExampleService.java启动工程 Feign Feign是一个声明式、模板化的HTTP客户端。它使得写Http客户端变...
spring cloud eureka zuul ribbon hystrix feign config 示例
spring cloud eureka zuul ribbon hystrix feign config 示例代码
Spring Cloud的Eureka实现服务发现注册和Feign实现服务调用
本篇博客主要讲解Eureka组件实现服务注册与发现和Feign组件实现服务间的调用的理论以及实际操作。 Eureka Eureka是Spring Cloud Netfix微服务套件中的一部分,可以和SpringBoot构建的微服务很容易的整合。SpringCloud将它集成在自己的子项目 spring-cloud-netflix中,实现SpringCloud的服务发现功能。 Eureka包含两...
五:Spring Cloud 之服务发现与调用-Feign
记录SpringCloud的Feign的作用与入门使用。
Spring Cloud之声明式调用Feign
一:Feign 简介 Feign采用了声明式API接口的风格,将Java Http客户端绑定到它的内部。Feign将Java Http客户端调用 过程变得简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解。 Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。 简而言之: ...
Spring Cloud的声明式调用Feign
Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribb...
spring cloud使用Feign实现远程接口的调用
在开发中,我们常用httpClient去远程调用其他系统的接口,一般情况下,需要我们指定调用的url,feign也实现了一套远程调用的方法,并且更为优雅。 1.添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> ...
spring feign调用 eurake服务需要的配置
在eurake client 配置@EnableHystrix,在feign中配置@EnableDiscoveryClient和@EnableFeignClients(basePackages = {"路径"}),就好了。
spring boot 微服务之间调用(feign)
之前用的好好的,新建一个工程之后就用不了了,检查了半天都没看出问题,后来发现是启动类上没有启用@EnableFeignClient注解,真是晕死。。。。。。
通过Feign实现Spring Cloud微服务调用
我们在上一篇文章通过restTemplate实现Spring cloud微服务的调用中介绍了spring cloud微服务的一种调用方式,本文我们介绍另一种调用spring cloud微服务的方式——Feign。 一、什么是Feign Feign是一个声明式的Web Service客户端,它的目的就是让Web Service调用更加简单。Feign提供了HTTP请求的模板,通过编写简单的接口并插入...
Spring Cloud学习--声明式调用(Feign)
Feign简介 实现声明式REST调用 Feign继承特性 Feign多参配置
Spring Cloud之Feign客户端调用工具
Spring Cloud之Feign客户端调用工具 feign介绍 Feign客户端是一个web声明式http远程调用工具,提供了接口和注解方式进行调用。 Spring Cloud 支持 RestTemplate Fetin Feign客户端实际开发中用的最多 ,易读性比较强。 主要调用部分: pom: <project xmlns="http://maven...
Spring Cloud 第三篇:Feign调用服务学习
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。 Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbo...
Spring Cloud教程 | 第四篇:服务消费者(Feign调用)
题记 上一篇讲述了如何通过Ribbon+restTemplate负载调用去消费服务,这篇文章主要讲述如何通过Feign去消费服务。 本章案例 源码下载:链接: https://pan.baidu.com/s/1DaqHyUEWrGptLHtqU5jfcQ 提取码: yad5 或github下载:https://github.com/liujun19921020/SpringCloudD...
Spring Cloud入门教程-声明式调用 Feign
注意:这里用到的项目都是在之前几篇文章讲解用到的项目工程基础上进行的,在这一系列博客写完后会提供源码地址。 项目源码及相关说明请查看此文:Spring Cloud入门教程-简介 上一篇博客讲了如何使用RestTemplate结合Ribbon 调用服务并实现负载均衡。这里要shuo说一下如何使用Feign来远程调度其他服务。 创建新的Moudel eureka-client-feign  p...
spring cloud eureka服务注册和调用
SPRING INITIALIZR构建工程 spring boot 可通过SPRING INITIALIZR构建项目访问SPRING INITIALIZR官网,填写项目相关信息后,生成项目。将下载的项目解压,打开idea,file-->new-->project from existing sources。import pro...
【Spring Cloud】Eureka实现微服务发布与调用
【引言】 在此之前,转载了一篇关于Spring Cloud的概述博文,关于Spring Cloud整个框架的结构和内容都总结的很详细。本篇博客将通过理论和实践的结合,总结学习Eureka。 【关于Eureka】 Eureka提供基于REST的服务,在集群中主要用于服务管理。Eureka 提供了基于 Java语言的客户端组件,客户端组件实现了负载均衡的功能,为业务组件的集群部署创造了条件。使用该框架...
SpringCloud案例(集成了Eureka、Ribbon、Feign)
本案例是SpringCloud项目案例,集成了Eureka、Ribbon、Feign等。
(二)Eureka,注册中心,服务者,消费者(Ribbon,Feign)
Eureka 按照官方介绍: Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middl...
SpringCloud入门(eureka集群和feign负载均衡)
什么是springcloud? 这是spring官网对springcloud的介绍,大致意思就是:让分布式系统简单化。springcloud是建立在springboot之上的,也就是说他是需要依赖springboot的,因此学习springcloud首先就要了解springboot。在上一篇文章中有介绍到springboot。 这张图说明了Spring Cloud是实施微服务的一系列套...
SpringCloud学习:Eureka、Feign(含示例代码)
一、Spring Cloud Netflix简介 SpringCloud是一个基于SpringBoot实现的云应用开发工具,它为基于JVM的云应用开发中的配置故那里、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了简单的开发方式。 SpringCloud下包含了多个工程,其中的Spring Cloud Netflix提供了一系列搭建微
Feign学习笔记3-feign不使用eureka
feign不使用eurekamain@EnableFeignClients @SpringBootApplication public class FeignMain { public static void main(String[] args) { SpringApplication.run(FeignMain.class, args); } }server端代码
只使用Feign不引入Eureka
【前言】 随着业务不断的扩展以及开发团队的不断壮大,单体服务已经满足我们现在项目的需求;于是乎我们在新做的项目中果断采用了微服务,与此同时将我们的老项目逐步往微服务方向上改造; 在技术选型中,根据我们的需求以及未来发展的趋势,我们选择了SpringCloud全家桶同时对其中几个组件做了替换,比如:配置中心采用携程的Apollo,调用链监控采用了点评的Cat等...
【Spring Cloud】Feign接口调用
本节大纲: - 简介 - 架构图 - 创建项目(接着上一章节) - 在Fcat中的应用 简介声明式、模板化的http客户端。 Feign通过将注释处理为模板化的请求来工作。 Feign旨在通过最少的资源和代码来实现和HTTP API的连接。 Feign使得 Java HTTP 客户端编写更方便。特点 定制化 提供多个接口 支持JSON格式的编码和解码 支持XML格式的
Spring cloud Feign的使用
能不能用FeignClient 访问别的不是springcloud的项目?
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件