• 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

  • 相关阅读:
    ExtJS学习之路第一步:对比jQuery,认识ExtJS
    创建Windows服务(C++)
    吴恩达2014机器学习教程笔记目录
    在Hexo中渲染MathJax数学公式
    Linux服务器性能检测命令集锦
    Redis开启AOF导致的删库事件
    从表扩展增加列属性说起
    数据库规约解读
    MySQL规约(阿里巴巴)
    HDFS运行原理
  • 原文地址:https://www.cnblogs.com/hxd9588/p/15127058.html
Copyright © 2020-2023  润新知