线程池隔离
感觉Hystrix是一个小工具。主要功能是把任务放入工作线程池,而不是Tomcat的线程池,这样Tomcat的吞吐率可以上去,这个跟Servlet 3的异步处理是同样的原理。Hystrix进一步把不同的任务分组放入不同的线程池,实现了资源的隔离,可以预防雪崩。
熔断CircuitBreaker和降级
通过AOP和Command设计模式来监控任务的执行情况,并且提供了超时和失败的容错处理Fallback。Hystrix进一步提供了熔断机制,在失败率过高时打开熔断,并且可以自行关闭。
以上两点都是提高了容错性。
缓存和批处理Collapser
请求结果的缓存和请求的批处理,都是为了提高性能。
监控Metric
Hystrix使用RxJava实现了一套响应式的数据监控机制。这个可以做为学习响应式编程的一个实例。
感谢阅读!