摘要:
高并发系统下, 有三把利器 缓存 降级 限流. 缓存: 将常用数据缓存起来, 减少数据库或者磁盘IO 降级: 保护核心系统, 降低非核心业务请求响应 限流: 在某一个时间窗口内对请求进行限速, 保护系统 本文主要介绍限流, 常见限流算法中又分为计数器算法, 漏桶算法, 令牌桶算法. 计数器算法 比较 阅读全文
摘要:
背景 本文基于Spring-Cloud, Daltson SR4 微服务一般多实例部署,在发布的时候,我们要做到无感知发布;微服务调用总会通过Ribbon,同时里面会实现一些重试的机制,相关配置是: 1 2 3 4 在发布时,为了适应Eureka注册中心的注册信息变换(参考Eureka上线下线解析) 阅读全文
摘要:
在spring cloud体系项目中,引入的重试机制保证了高可用的同时,也会带来一些其它的问题,如幂等操作或一些没必要的重试。 今天就来分别分析一下 FeignClient 和 Ribbon 重试机制的实现原理和区别,主要分为三点: 1)FeignClient重试机制分析 2)Ribbon重试机制分 阅读全文
摘要:
Ribbon负载均衡策略 配置 对调用的某个服务启用某种负载策略 1)通过配置文件配置 1 2 3 2)通过java注解配置 1 2 3 4 5 6 7 8 通过注解@RibbonClient为特定的服务配置负载均衡策略 1 2 3 4 以上配置都是在服务消费者中配置。 单独使用Ribbon 因为往 阅读全文
摘要:
/// <summary> /// 发送SOAP请求,并返回响应xml /// </summary> /// <param name="url">请求地址</param> /// <param name="datastr">SOAP请求信息</param> /// <returns>返回响应信息</ 阅读全文
摘要:
SpringCloud重试retry是一个很赞的功能,能够有效的处理单点故障的问题。主要功能是当请求一个服务的某个实例时,譬如你的User服务启动了2个,它们都在eureka里注册了,那么正常情况下当请求User服务时,ribbon默认会轮询这两个实例。此时如果其中一个实例故障了,发生了宕机或者超时 阅读全文
摘要:
Ribbon负载均衡策略 配置 对调用的某个服务启用某种负载策略 1)通过配置文件配置 1 2 3 2)通过java注解配置 1 2 3 4 5 6 7 8 通过注解@RibbonClient为特定的服务配置负载均衡策略 1 2 3 4 以上配置都是在服务消费者中配置。 单独使用Ribbon 因为往 阅读全文
摘要:
//自定义重试次数// @Bean// public Retryer feignRetryer(){// Retryer retryer = new Retryer.Default(100, 1000, 2);// return retryer;// }如果设置了feginclient的重试次数(2 阅读全文