博客
关于我
SpringCloud-组件服务熔断Hystrix和声明式服务消费Feign
阅读量:516 次
发布时间:2019-03-07

本文共 946 字,大约阅读时间需要 3 分钟。

什么是Hystrix?

在分布式系统中,当一个服务无法响应时,直接返回错误响应而不是长时间等待,以防止故障在系统间蔓延。以电商平台为例,订单服务和减库存服务互相调用,当减库存服务出现延迟或不可用时,订单服务不会一直等待,避免影响整体系统的稳定性。

Hystrix在项目中的使用

在入口类使用@enableCircuitBreaker注解开启断路器功能,可以通过@SpringCloudApplication注解替代主类注解。使用@HystrixCommand注解指定回调方法,例如:

@HystrixCommand(fallbackMethod = "error", commandProperties = {    @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "1500")})

fallbackMethod指定服务不可用时回调的方法。

服务降级

熔断后,服务降级生效,客户端返回默认值。例如,服务提供者不可用时,客户端调用本地回调方法返回默认值。

异常处理

在调用服务提供者时,抛出的异常会触发服务降级机制,交给指定的回调方法处理,如:

public String error(Throwable throwable) {    System.out.println(throwable.getMessage());    return "error";}

Feign集成

Feign整合Ribbon和Hystrix,大大简化了服务调用流程。配置@EnableFeignClients开启支持,使用@FeignClient注解指定服务名称并绑定接口:

@FeignClient("01-springcloud-service-provider")public interface HelloService {    @RequestMapping("/service/hello")    public String hello();}

通过spring.application.name属性配置服务名称,将Feign与SpringMVC整合,实现高效服务调调用。

转载地址:http://knunz.baihongyu.com/

你可能感兴趣的文章
POSIX thread编程中关于临界区内条件变量的分析
查看>>
POSIX与程序可移植性
查看>>
posix多线程有感--自旋锁
查看>>
SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
查看>>
POSIX标准和XSI扩展
查看>>
post install error,please remove node_moules before retry
查看>>
postcss-pxtorem 参数之selectorBlackList、exclude的用法
查看>>
Postek博思得标签打印机更换电脑,打印出来标签空白
查看>>
postfix+ dovecot搭建邮件服务器
查看>>
postfix在邮件服务器中的使用
查看>>
PostGIS 3.1.2软件安装详细教程(地图工具篇.8)
查看>>
PostGIS中获取所有EPSG的编码以及对应Proj4字符串
查看>>
PostGIS在Windows上的下载与安装
查看>>
Qt开发——网络编程之UDP客户端
查看>>
postgis数据库优化_postgresql 性能优化
查看>>
postgis求面积、交集等相关函数
查看>>
postgis相关函数
查看>>
Postgres Docker版本安装mysql_fdw 插件
查看>>
Postgres invalid command \N数据恢复处理
查看>>
Postgres like 模糊查询匹配集合
查看>>