摘要:
执行原来这个单次执行的效果 这里打印了currentThread 线程名称就是我们之前这里定义的。首先第一点,我们这里执行的线程池名称是生效的,打印出来的是MyThreadPool -1 就是在我们的线程池MyThreadPool 里面的第一个线程。 修改线程模式。改成信号量的模式。 再来测试 输出 阅读全文
摘要:
线程隔离这块,一定会有线程池,有线程池,我们一般会给他启用一个唯一标识。然后用来对于线程池进行一些相关的操作。就像我们有孩子,我们给他起名字张三、二狗,紧接着呢我想去召唤他什么的,我就用这个名字就可以了。这就是ThreadPoolKey的意思。 ThreadPoolKey不是必填项。Hytrix在你 阅读全文
摘要:
单独建测试类 上下文做开启 构建请求,请求合并肯定就是多个请求。 这里先加上传参 这样就构建四个请求,这都是有讲究的 请求合并这里我们使用队列 创建了四个队列。 获取四个结果都打印出来。 测试。看效果。再来解释里面的内容。 上面的currentThread只打印了两回。 run方法里面的代码 应该是 阅读全文
摘要:
首先创建一个请求合并处理的对象 三个参数,参数1:批量返回的结果, 参数2:批量里面每一次处理请求返回的结果, 参数3:批量里面每次处理的请求内容 批量处理返回的结果肯定是一个集合 这个三个方法的作用 批量结果和你的业务请求关联起来,它才知道哪个结果是哪个业务产生的内容。 定义属性,把这个结果返回回 阅读全文
摘要:
请求 合并是Hytrix给我提供的一个特性。讲多个请求合并成一个请求,统一进行一次发送,解答的减少 网络消耗。 两次请求必须足够的近才能合并请求,默认是500毫秒左右。 结束 阅读全文
摘要:
在commandTest上演示 这里本身有有一句打印 复制这个方法 多次请求有个开关 。 分别创建三个CommandDemo对象,请求三次,输出三次 运行测试 在commandDemo内重写getCacheKey 我们在请求的时候传了一个name,那么我就认为请求的同一个name,就认为内容是ok的 阅读全文
摘要:
分为两种, 给我们提供的方法getCaheKey用来取出我们的缓存,,也就是重写getCaheKey这个方法后,我们就可以自定义的去判断,什么样的要触发缓存,什么样的不触发缓存。 只有在同一个请求上下文内才能够触发缓存 请求缓存有个开关可以去开启 结束 阅读全文
摘要:
配置GroupKey 例如同一个请求多次,可能需要统计和监控。所以我们需要做一个手工分组,这个分组指的就是groupKey,指定同一个groupKey那就是同一个分组。 后续我们会学到线程池,groupKey它也是默认线程池的名称。 指定commandKey 结束 阅读全文
摘要:
再来演示ObservableCommand 这里是个主线程的执行。 当然我们也可以值Command以主线程执行,ObservableCommand以不同线程执行,但是他俩最根本的区别主要在这。 一个执行一次命令,一个可以执行多次命令,当然这也是他们的区别之一。 到这,我们的两种命令模式就说完了。 这 阅读全文
摘要:
创建类继承HystrixObservableCommand泛型是String 重写里面方法。 返回的类型就是 Observable,返回的就是它 初始化name属性和构造方法 这是哦我们讲隔离的时候,会用到的东西,为了减少那时候的代码量,所以这里提前做个预留, 那么我们返回呢?要返回Observab 阅读全文
摘要:
最主要的区别体现在,Subcriber。在onNext里面可以集成我们正式的一些业务逻辑。也就是在Run方法之外,我们还有业务逻辑可以执行,这是他们之间最主要的一个区别。 热处理:在处理的过程中,加载了什么东西 冷处理:在执行之前,我就要加载完。然后依次执行。 区别在与1、2的执行顺序问题 我们常用 阅读全文