摘要: 对请求的目标URL进行限流(例如:某个URL每分钟只允许调用多少次) 对客户端的访问IP进行限流(例如:某个IP每分钟只允许请求多少次) 对某些特定用户或者用户组进行限流(例如:非VIP用户限制每分钟只允许调用100次某个API等) 多维度混合的限流。此时,就需要实现一些限流规则的编排机制。与、或、 阅读全文
posted @ 2018-09-10 21:23 甜菜波波 阅读(1985) 评论(0) 推荐(0) 编辑
摘要: 简述 Spring Cloud Zuul RateLimit项目Github地址: https://github.com/marcosbarbero/spring-cloud-zuul-ratelimit 该包实现了在Zuul对每个服务进行限流。提供的几种限流方式: 1. 认证用户(Authenti 阅读全文
posted @ 2018-09-10 21:22 甜菜波波 阅读(12781) 评论(1) 推荐(0) 编辑
摘要: 高并发系统下, 有三把利器 缓存 降级 限流. 缓存: 将常用数据缓存起来, 减少数据库或者磁盘IO 降级: 保护核心系统, 降低非核心业务请求响应 限流: 在某一个时间窗口内对请求进行限速, 保护系统 本文主要介绍限流, 常见限流算法中又分为计数器算法, 漏桶算法, 令牌桶算法. 计数器算法 比较 阅读全文
posted @ 2018-09-10 21:12 甜菜波波 阅读(2080) 评论(1) 推荐(0) 编辑
摘要: 背景 本文基于Spring-Cloud, Daltson SR4 微服务一般多实例部署,在发布的时候,我们要做到无感知发布;微服务调用总会通过Ribbon,同时里面会实现一些重试的机制,相关配置是: 1 2 3 4 在发布时,为了适应Eureka注册中心的注册信息变换(参考Eureka上线下线解析) 阅读全文
posted @ 2018-09-10 20:56 甜菜波波 阅读(2034) 评论(0) 推荐(0) 编辑
摘要: 在spring cloud体系项目中,引入的重试机制保证了高可用的同时,也会带来一些其它的问题,如幂等操作或一些没必要的重试。 今天就来分别分析一下 FeignClient 和 Ribbon 重试机制的实现原理和区别,主要分为三点: 1)FeignClient重试机制分析 2)Ribbon重试机制分 阅读全文
posted @ 2018-09-10 18:48 甜菜波波 阅读(5072) 评论(0) 推荐(0) 编辑
摘要: Ribbon负载均衡策略 配置 对调用的某个服务启用某种负载策略 1)通过配置文件配置 1 2 3 2)通过java注解配置 1 2 3 4 5 6 7 8 通过注解@RibbonClient为特定的服务配置负载均衡策略 1 2 3 4 以上配置都是在服务消费者中配置。 单独使用Ribbon 因为往 阅读全文
posted @ 2018-09-10 16:02 甜菜波波 阅读(199) 评论(0) 推荐(0) 编辑
摘要: /// <summary> /// 发送SOAP请求,并返回响应xml /// </summary> /// <param name="url">请求地址</param> /// <param name="datastr">SOAP请求信息</param> /// <returns>返回响应信息</ 阅读全文
posted @ 2018-09-10 15:48 甜菜波波 阅读(3966) 评论(0) 推荐(0) 编辑
摘要: SpringCloud重试retry是一个很赞的功能,能够有效的处理单点故障的问题。主要功能是当请求一个服务的某个实例时,譬如你的User服务启动了2个,它们都在eureka里注册了,那么正常情况下当请求User服务时,ribbon默认会轮询这两个实例。此时如果其中一个实例故障了,发生了宕机或者超时 阅读全文
posted @ 2018-09-10 15:29 甜菜波波 阅读(5082) 评论(0) 推荐(0) 编辑
摘要: Ribbon负载均衡策略 配置 对调用的某个服务启用某种负载策略 1)通过配置文件配置 1 2 3 2)通过java注解配置 1 2 3 4 5 6 7 8 通过注解@RibbonClient为特定的服务配置负载均衡策略 1 2 3 4 以上配置都是在服务消费者中配置。 单独使用Ribbon 因为往 阅读全文
posted @ 2018-09-10 11:40 甜菜波波 阅读(332) 评论(0) 推荐(0) 编辑
摘要: //自定义重试次数// @Bean// public Retryer feignRetryer(){// Retryer retryer = new Retryer.Default(100, 1000, 2);// return retryer;// }如果设置了feginclient的重试次数(2 阅读全文
posted @ 2018-09-10 11:29 甜菜波波 阅读(2039) 评论(0) 推荐(0) 编辑