Hystrix 资料简单梳理

Hystrix 资料简单梳理

状态

Hystrix不再处于活动开发阶段,目前处于维护模式。

Hystrix(版本1.5.18)足够稳定,可以满足Netflix对现有应用程序的需求。与此同时,我们的重点已转向更具适应性的实现,这些实现对应用程序的实时性能做出反应,而不是预先配置的设置(例如,通过自适应并发限制)。对于像Hystrix这样的事情有意义的情况,我们打算继续将Hystrix用于现有应用程序,并将弹性和活动项目(如resilience4j)用于新的内部项目。我们开始建议其他人也这样做。

Netflix Hystrix现在正式处于维护模式,对更大的社区有以下期望: Netflix将不再主动审查问题,合并拉取请求,并发布新版本的Hystrix。我们已经为issue 1891发行了Hystrix(1.5.18)的最终版本。

多年来,Hystrix一直为Netflix和社区服务,而向维护模式的过渡并不表示Hystrix的概念和想法不再具有价值。相反,Hystrix激发了许多伟大的想法和项目。我们感谢Netflix的所有人,以及更广泛的社区,感谢Hystrix多年来所做的所有贡献。

介绍

分布式系统的延迟和容错

Hystrix是一个延迟和容错库,旨在隔离对远程系统,服务和第三方库的访问点,停止级联故障,并在复杂的分布式系统中实现弹性,在这些系统中,故障是不可避免的。

完整文档

有关完整文档,示例,操作详细信息和其他信息,请参阅Wiki

有关API,请参阅Javadoc

它有什么作用?

1)延迟和容错停止级联故障。后退和优雅的退化。快速恢复失败。螺纹和信号量隔离与断路器。

2)实时操作实时监控和配置更改。观察服务和财产变更会立即生效,因为它们分散在船队中。在几秒钟内收到警报,做出决定,影响变化并查看结果。

3)并发并行执行。并发感知请求缓存。通过请求折叠自动批处理。

Hello World

要隔离的代码包含在HystrixCommand的run()方法中,类似于以下内容:

public class CommandHelloWorld extends HystrixCommand<String> {

    private final String name;

    public CommandHelloWorld(String name) {
        super(HystrixCommandGroupKey.Factory.asKey("ExampleGroup"));
        this.name = name;
    }

    @Override
    protected String run() {
        return "Hello " + name + "!";
    }
}

这个Command可以像这样使用:

String s = new CommandHelloWorld("Bob").execute();
Future<String> s = new CommandHelloWorld("Bob").queue();
Observable<String> s = new CommandHelloWorld("Bob").observe();

转载于:https://my.oschina.net/mengzhang6/blog/3054422

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值