• springCloud 服务间相互调用


    1、必须注册到eureka并被发现 

    2、pom引入 包
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>

    3、Application启动类中使用@EnableFeignClients注解 用来开启feign注解

    4、新建接口(interface) 上使用@FeignClient注解(name=eureka中注册的名称,不区分大小写)

    5、@FeignClient注解的容错方法,异常时调用方法回滚@FeignClient(name="**", fallback=****.class)

    6、容错方法的注解调用还有 FallbackFactory 不能和 fallback同时使用

    7、容错类中需添加@Component注解,用以被spring扫描

    8、容错类需实现(implements)FeignClient类,针对不同方法返回不同提示内容

    9、方法在controller调用时,直接用Autowired 或者 Resource注解 注入使用(和调用service相同)

    10、FeignClient类上不能使用 @RequestMapping http请求且使用accpet时会报404 (未经测试)
    Content-Type:application/json
    Accept:application/json

    11、Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码 (未经测试)
    解决方案有三种,以feign为例。

    方法一
    hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 5000
    该配置是让Hystrix的超时时间改为5秒
    方法二
    hystrix.command.default.execution.timeout.enabled: false
    该配置,用于禁用Hystrix的超时时间
    方法三feign.hystrix.enabled: false

    该配置,用于索性禁用feign的hystrix

    @EnableEurekaClient

  • 相关阅读:
    loj 1251(2-sat + 输出一组可行解)
    hdu 4751(dfs染色)
    hdu 2545(并查集求节点到根节点的距离)
    uva 10972(边双连通分量)
    uva 10246(最短路变形)
    uva 11380(最大流+拆点)
    hdu 4640(状压dp)
    hdu 1430+hdu 3567(预处理)
    python基础知识回顾[1]
    基于websocket搭建简易群聊
  • 原文地址:https://www.cnblogs.com/hxd9588/p/15127058.html
Copyright © 2020-2023  润新知