上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 93 下一页
摘要: Hystrix其实需要下面标红线的一个依赖就够了 因为后面我们还会讲其他的东西,所以把下面两个也一块加上依赖了 这是我们单独使用Hystrix的演示。 将来后续会在film和hall两个模块做整合演示。所以暂时就没在film和hall里面加依赖。 添加配置,在演示dashbord的时候会用到的 开启 阅读全文
posted @ 2020-05-05 21:53 高山-景行 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Hytrix在我们的表现层之外,再包装一层Command,也就是表现层在调其它层业务逻辑的时候,他就会把HystrixCommand再封装一层,根据你的隔离级别,再访问其他的业务情况,然后紧接着处理,处理后再返回,这是我们第一种场景。也就是HystrixCommand是写在表现层中的 另外一种场景, 阅读全文
posted @ 2020-05-05 21:32 高山-景行 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 添加熔断演示的方法 增加两个CommandDemo,一个用来演示正确的,一个从来演示错误的。那么怎么样才能让下面的代码变成错误的呢? 在CommandDemo里面演示,只要name是jiangzh开头的那么就故意写个除以0的错误代码 测试方法,一次成功了,一次失败 错误代码之后,再来执行一次成功的测 阅读全文
posted @ 2020-05-05 21:23 高山-景行 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 快照时间窗:一个时间段, 请求总数阀值:在上面那一段时间内,有多少请求总数。 错误百分比阀值:在有限的快照时间窗内,当我们达到请求总数阀值的数值,同时它的错误内容达到了一定比例,这个时候就要触发我们的熔断开关。 它把每一段时间叫做一个bucket.里面记录成功次数、失败次数、超时次数、重发的次数 在 阅读全文
posted @ 2020-05-04 00:58 高山-景行 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 演示FailBack,只需要在这里覆盖一个方法就可以了。 这样我们的FailBack就算是写完了。 触发降级 运行这个测试方法 t4和t5正常执行。前面三个触发了FailBack failBack和Run方法是一一对应的 降级的处理 至于这个HystrixBadRequestException会被抛 阅读全文
posted @ 2020-05-04 00:41 高山-景行 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 开启信号量 run方法内启动CommandDemo 复制一下这个方法 改个测试名字 清空方法内容 创建5个线程 因为主线程不能退出的比子线程快,如果比子线程快的话,这里将变得很麻烦 所以这里需要休眠 测试 信号量参数的设置 信号量的最大请求数 失败的时候最大请求数 再来运行测试 是有两条成功的消息的 阅读全文
posted @ 2020-05-04 00:28 高山-景行 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 下面我们就来看几个核心参数。下面三个标红的 设置为2,后面好演示。 复制一下我们之前的代码 复制到最下面改名字:threadTest 分别都是创建5个 切换到线程隔离 现在我们线程里面有2个线程,但是要执行5个。报错的应该是线程池内容不够这种错误。 运行测试方法 线程池的最大数量设置为5 这么设置完 阅读全文
posted @ 2020-05-02 01:13 高山-景行 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 执行原来这个单次执行的效果 这里打印了currentThread 线程名称就是我们之前这里定义的。首先第一点,我们这里执行的线程池名称是生效的,打印出来的是MyThreadPool -1 就是在我们的线程池MyThreadPool 里面的第一个线程。 修改线程模式。改成信号量的模式。 再来测试 输出 阅读全文
posted @ 2020-05-01 23:02 高山-景行 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 线程隔离这块,一定会有线程池,有线程池,我们一般会给他启用一个唯一标识。然后用来对于线程池进行一些相关的操作。就像我们有孩子,我们给他起名字张三、二狗,紧接着呢我想去召唤他什么的,我就用这个名字就可以了。这就是ThreadPoolKey的意思。 ThreadPoolKey不是必填项。Hytrix在你 阅读全文
posted @ 2020-05-01 22:47 高山-景行 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 单独建测试类 上下文做开启 构建请求,请求合并肯定就是多个请求。 这里先加上传参 这样就构建四个请求,这都是有讲究的 请求合并这里我们使用队列 创建了四个队列。 获取四个结果都打印出来。 测试。看效果。再来解释里面的内容。 上面的currentThread只打印了两回。 run方法里面的代码 应该是 阅读全文
posted @ 2020-05-01 20:17 高山-景行 阅读(145) 评论(2) 推荐(0) 编辑
摘要: 首先创建一个请求合并处理的对象 三个参数,参数1:批量返回的结果, 参数2:批量里面每一次处理请求返回的结果, 参数3:批量里面每次处理的请求内容 批量处理返回的结果肯定是一个集合 这个三个方法的作用 批量结果和你的业务请求关联起来,它才知道哪个结果是哪个业务产生的内容。 定义属性,把这个结果返回回 阅读全文
posted @ 2020-05-01 20:00 高山-景行 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 请求 合并是Hytrix给我提供的一个特性。讲多个请求合并成一个请求,统一进行一次发送,解答的减少 网络消耗。 两次请求必须足够的近才能合并请求,默认是500毫秒左右。 结束 阅读全文
posted @ 2020-05-01 12:59 高山-景行 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 在commandTest上演示 这里本身有有一句打印 复制这个方法 多次请求有个开关 。 分别创建三个CommandDemo对象,请求三次,输出三次 运行测试 在commandDemo内重写getCacheKey 我们在请求的时候传了一个name,那么我就认为请求的同一个name,就认为内容是ok的 阅读全文
posted @ 2020-05-01 12:56 高山-景行 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 分为两种, 给我们提供的方法getCaheKey用来取出我们的缓存,,也就是重写getCaheKey这个方法后,我们就可以自定义的去判断,什么样的要触发缓存,什么样的不触发缓存。 只有在同一个请求上下文内才能够触发缓存 请求缓存有个开关可以去开启 结束 阅读全文
posted @ 2020-05-01 12:41 高山-景行 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 配置GroupKey 例如同一个请求多次,可能需要统计和监控。所以我们需要做一个手工分组,这个分组指的就是groupKey,指定同一个groupKey那就是同一个分组。 后续我们会学到线程池,groupKey它也是默认线程池的名称。 指定commandKey 结束 阅读全文
posted @ 2020-05-01 12:35 高山-景行 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 再来演示ObservableCommand 这里是个主线程的执行。 当然我们也可以值Command以主线程执行,ObservableCommand以不同线程执行,但是他俩最根本的区别主要在这。 一个执行一次命令,一个可以执行多次命令,当然这也是他们的区别之一。 到这,我们的两种命令模式就说完了。 这 阅读全文
posted @ 2020-05-01 08:48 高山-景行 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 创建类继承HystrixObservableCommand泛型是String 重写里面方法。 返回的类型就是 Observable,返回的就是它 初始化name属性和构造方法 这是哦我们讲隔离的时候,会用到的东西,为了减少那时候的代码量,所以这里提前做个预留, 那么我们返回呢?要返回Observab 阅读全文
posted @ 2020-05-01 08:42 高山-景行 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 最主要的区别体现在,Subcriber。在onNext里面可以集成我们正式的一些业务逻辑。也就是在Run方法之外,我们还有业务逻辑可以执行,这是他们之间最主要的一个区别。 热处理:在处理的过程中,加载了什么东西 冷处理:在执行之前,我就要加载完。然后依次执行。 区别在与1、2的执行顺序问题 我们常用 阅读全文
posted @ 2020-05-01 08:25 高山-景行 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 复制observeTest的代码,改成toObserveTest 修改方法名 访问方式改成toObservable 我们来看下调用结果 底下报了一个错。 说我们执行的次数太多 那么为什么会报出这样一个错误呢? 首先我们在执行Observe和toObservable的区别,就是下面这个对象我们不能用多 阅读全文
posted @ 2020-04-30 23:50 高山-景行 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 它的返回对象是Observeable里面的泛型是Command里面的泛型。 这是阻塞式调用。 运行阻塞式调用测试 发现和execute区别不是很大 名称改一下 非阻塞式调用 提供了三个方法,第一个是编译,第二个是报错的时候,onNext是就类似于它们在执行方法的时候,在做的一个事情。 这里参数名改成 阅读全文
posted @ 2020-04-30 22:51 高山-景行 阅读(262) 评论(0) 推荐(0) 编辑
摘要: command这里除了execute还有queue队列。execute是同步执行,queue是异步执行。 还有另外的两条线,observe和toObservable 演示queue 增加开始时间和结束时间。 运行测试 增加queue的测试方法。这里执行完成后立马返回的是一个Future对象,但是这个 阅读全文
posted @ 2020-04-30 22:28 高山-景行 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 准备好的依赖包 把依赖包拷贝到我们的pom.xml内 新建test包,然后按照下面路径建包 首先演示command,那就先创建command包 创建CommandDemo 继承HystrixCommand指定泛型为String,然后实现Run方法。 上面之所以还会报错,是因为还需要构造函数,然后把n 阅读全文
posted @ 2020-04-30 20:44 高山-景行 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 构建演示的工程,轻量级的 在show工程下在单独新建工程 复制groupId 改成下划线即可 删除文件。没用的 修改配置文件为yml格式 test文件夹删除 复制过来parent节点 这里先都去掉 复制一个日志配置文件 配合文件复制过来 指定端口和服务名 父工程内加入这个模块 导入依赖 结束 阅读全文
posted @ 2020-04-30 20:20 高山-景行 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Hytrix官方的 第一部分是这里。熔断依赖命令来实现的 可以认为是线程的入口,所有需要Hytrix支持的内容 都必须要走 HystrixCommand、HystrixObservableCommand:只有这两种形式,没有其他可选的形式。除非你们继承它实现了自己的子类 第二部分 都是入口,这四个的 阅读全文
posted @ 2020-04-30 20:08 高山-景行 阅读(997) 评论(0) 推荐(0) 编辑
摘要: 容错就是兼容错误,包容错误。 延迟:限流和快速失败的一些措施 级联故障 雪崩效应 订单服务进来, 订单服务需要 库存和交易服务的支持。 雪崩,代金券的服务出问题了。交易服务就可能出现超时。 调用一个节点失败了,可能会重试 级联故障,就是底下一个出问题了影响上面的 服务熔断后,会触发降级 降级和快速失 阅读全文
posted @ 2020-04-30 12:52 高山-景行 阅读(171) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 93 下一页