Spring Cloud Feign的Ribbon配置

一 点睛 Spring Cloud Feign的客户端负载均衡是通过Spring Cloud Ribbon实现的,所以可以直接通过配置Ribbon客户端的方式来自定义各服务客户端调用的参数。 二 全局配置 1 使用方式 ribbon.<key>=...

2018-08-18 17:34:48

阅读数 114

评论数 0

Spring Cloud Feign的继承特性

一 点睛 Spring Cloud Feign提供了继承特性,可以进一步减少编码量。 二 编写hello-service-api 1 创建一个基础的Maven工程,命名为hello-service-api 2 编写pom.xml <?xml version=&am...

2018-08-18 10:30:41

阅读数 592

评论数 0

Feign的参数绑定实战

一 hello-service的相关处理 1 控制器增加相应处理 package com.didispace.web; import com.didispace.dto.User; import com.didispace.service.HelloService; import org....

2018-08-16 18:43:16

阅读数 242

评论数 0

Spring Cloud Feign快速入门案例

一 新建一个Spring boot基础工程,取名feign-consumer,在pom.xml中增加相关依赖 <dependencies> <dependency> &amp...

2018-08-15 19:49:14

阅读数 255

评论数 0

Hystrix的回退

一 回退 执行超时等失败情况 断路器打开 线程池满载 二 测试断路器回退 package org.crazyit.cloud.cb; import com.netflix.hystrix.HystrixCommand; import com.netflix.hystrix.Hystr...

2018-08-13 19:07:48

阅读数 108

评论数 0

Spring Cloud以及Netflix微服务源码获取途径

一 Eureka https://github.com/Netflix/eureka Eureka是Netflix开源的服务发现组件,本身是一个基于REST的服务。它包含Server和Client两部分。   二 Ribbon https://github.com/Netflix/rib...

2018-08-13 19:02:47

阅读数 194

评论数 0

Turbine与消息代理结合

一 介绍 Spring Cloud在封装Turbine的时候,还封装了基于消息代理的实现。可以将所有需要收集的监控消息都输出到消息代理中,然后Turbine服务再从消息代理中异步获取这些监控消息,最后将这些监控消息聚合并输出到Hystrix Dashboard中。 二 架构图 这里多了一...

2018-08-11 19:09:20

阅读数 483

评论数 1

Turbine集群监控

一 turbine简介 Hystrix Dashboard首页提到监控端点/turbine.stream,它是用来监控集群的。从端点的命名来看,它需要引入Turbine,通过它来汇集监控信息,并将聚合后的信息提供给Hystrix Dashboard来集中展示和监控。 二 项目介绍 引入Tur...

2018-08-11 17:04:49

阅读数 677

评论数 1

Hystrix仪表盘监控单实例节点

一 介绍 Hystrix DashBoard监控单实例节点需要访问实例的/hystrix.stream接口来实现。 二 项目架构 项目的实现部分见红色框起来的部分。 三 实战步骤 1 在服务实例的pom.xml中增加相关依赖项目,主要是下面两项 <depen...

2018-08-11 10:34:13

阅读数 267

评论数 0

Hystrix仪表盘实战

一 Hystrix仪表盘介绍 度量指标都是HystrixCommand和HystrixObservableCommand实例在执行过程中记录的重要信息,它们除了在Hystrix断路器实现中使用之外,对于系统运维的帮助也很大。 度量指标会以“滚动时间窗”与“桶”结合的方式进行汇总,并在内存中驻留...

2018-08-11 10:02:59

阅读数 435

评论数 0

Hystrix的threadPool属性解读

一 介绍 Thread Pool Properties:用来控制Hystrix命令所属线程池的配置 coreSize:该参数用来设置执行命令线程池的核心线程数,该值也是命令执行的最大并发量。 maximumSize:该参数用来设置线程池的最大队列大小。 queueSize...

2018-08-10 19:15:28

阅读数 1406

评论数 0

Hystrix的collapser属性解读

一 介绍 Collapser Properties:用来控制命令合并相关的行为。 maxRequestsInBatch:该参数用来设置一次请求合并批处理中允许的最大请求数。 timerDelayInMilliseconds:用来设置批处理过程中每个命令延迟的时间,单位为毫秒,默认值为10。 ...

2018-08-10 18:58:36

阅读数 308

评论数 0

Hystrix的Command属性解读

一 介绍 Command属性主要用来控制HystrixCommand命令的行为,它主要分下面的类别 1 Execution:用来控制HystrixCommand.run()的执行 execution.isolation.strategy:该属性用来设置HystrixCommand.run()...

2018-08-10 18:44:18

阅读数 1444

评论数 0

Hystrix属性介绍

一 介绍 根据HystrixCommand的不同方式将配置方法分为两类 1 继承方式实现 通过Setter对象来对请求命令的属性进行设置,比如下面的例子: public CommandFacadeWithPrimarySecondary(int id) { super(Sette...

2018-08-08 19:37:18

阅读数 72

评论数 0

通过源码理解Hystrix缓存的工作原理

AbstractCommand关键源码 protected final HystrixRequestCache requestCache; //默认返回null protected String getCacheKey(){ return null; } protected bool...

2018-08-07 19:02:59

阅读数 214

评论数 0

Hystrix的缓存使用

一 介绍 在高并发的场景之下,Hystrix中提供了请求缓存的功能,可以方便地开启和使用请求缓存来优化系统,达到减轻高并发时请求线程的消耗、降低请求响应时间的效果。 二开启请求缓存功能 在实现HystrixCommand或HystrixObservableCommand时,通过重载getCa...

2018-08-06 18:53:51

阅读数 292

评论数 0

Hystrix的命令名称、分组及线程池划分

一 继承方式命名 1 命令名称和命令分组的联系 以继承方式实现的Hystrix命令使用类名作为默认的命令名称。 但也可以在构造函数中通过Setter静态类来设置。 public CommandHelloWorld(String name) { super(Setter.withG...

2018-08-04 19:37:06

阅读数 237

评论数 0

Hystrix的异常处理实战

一 说明 在调用服务执行HsytrixCommand实现的run()方法抛出异常时,除HystrixBadRequestException之外,其他异常都会认为是Hystrix命令执行失败并触发服务降级处理逻辑。 当Hystrix命令因为异常(除了HystrixBadRequestExcept...

2018-08-04 17:27:10

阅读数 1228

评论数 0

Hystrix关于服务降级

一 介绍 fallback是Hystrix命令执行失败时的后备方法,用来实现服务的降级处理。 二 HystrixCommand的服务降级示例 package com.didispace.web; import static org.junit.Assert.*; import java...

2018-08-04 16:43:11

阅读数 860

评论数 0

HystrixObservableCommand的使用

一 介绍 通过HystrixObservableCommand,可以获取能发射多次的Observable 如果使用HystrixObservableCommand来实现命令封装,需要将命令的执行逻辑在construct方法中重载。 二 实战 1 HystrixObservableComma...

2018-08-04 15:47:24

阅读数 500

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭