Hystrix-插件

Hystrix插件

  • Event Notifier : 可以自定义事件通知器,用于报警和统计信息
  • Metrics Publisher : 用于收集测量数据,并开启一个后台线程处理这些计量数据,比如持久化(Servo)
  • Properties Strategy : 用于控制系统中的属性定义
  • Concurrency Strategy : 并发策略,在Hystrix中,ThreadLocal, Callable, Runnable, ThreadPoolExecutorBlockingQueue 是起实现线程隔离的基础。Hystrix已经实现了这些工具,并且开箱即用。但是在很大场景下,客户想要嵌入个性化的实现或者装饰行为,此时,可以实现HystrixConcurrencyStrategy,并覆盖一下方法:
    • 比如在 getThreadPool() and getBlockingQueue() 方法中嵌入Log,或者记录Metrics;
    • wrapCallable() 允许我们去装饰每个被Hystrix执行的Callable ,比如可以通过其来传递ThreadLocal中的数据;不用担心 Trace链被打断,2333
    • 方法getRequestVariable() 希望返回 HystrixRequestVariable<T>的实现类,其可以做到在一个请求的所有线程中共享上下文信息HystrixRequestContext
  • Command Execution HookHystrixCommandExecutionHook的实现可以获取是命令HystrixInvokable (HystrixCommand or HystrixObservableCommand)的执行声明周期。基于此,我们可以嵌入一些行为、日志、覆盖返回、上报线程状态等。
您的支持是我创作源源不断的动力