1.11.1. Gateway网关
网关、微服务
[quickstart-gateway]
代理服务器
流量网关 或者 代理服务器 或者 负载均衡
1.11.1.1.
1.11.1.2.
1.11.1.3.
1.11.1.4.
API服务网关
/Users/yangzl/git/quickstart-gateway/docs
1、
网关之降级、熔断、限流、隔离、幂等性验证、超时重试机制的相关知识简单整理
1、微服务架构中没有接口限流,可能会遇到哪些问题?
2、针对微服务接口限流,如何选择合适的限流算法?
3、如何根据场景和性能要求权衡选择单机还是分布式限流?
4、如何根据业务需求灵活的选择不同的限流熔断机制?
5、如何对接口选择合适的限流时间粒度和最大限流值?
6、如何验证微服务接口限流功能的有效性和正确性?
7、如何打造高度容错、高 TPS、低延迟的限流框架?
2、
高并发流量限制(计数器、漏桶、令牌桶):限流(过载保护)
采用漏桶算法和令牌桶算法实现限流技术(time limiting)
令牌桶(Token Bucket)和漏桶(leaky bucket)是 最常用的两种限流的算法。
令牌桶(Token Bucket):可以突发流量,产生Token的速率(rate)+ 桶的大小【最大突发流量】 + 初始令牌个数
漏桶(leaky bucket):固定速率,桶大小+漏洞的大小(rate)
背景:通常在高并发访问的情况下,会通过限流的手段来控制流量问题,以保证服务器处于正常压力下,一般对超过的部分不做处理,即丢弃。
限流的手段通常有计数器、漏桶、令牌桶。注意限流和限速(所有请求都会处理)的差别,视业务场景而定
1、计数器:在一段时间间隔内(时间窗),处理请求的最大数量固定,超过部分不做处理
2、漏桶:漏桶大小固定,处理速度固定,但请求进入速度不固定(在突发情况请求过多时,会丢弃过多的请求)
3、令牌桶:令牌桶的大小固定,令牌的产生速度固定,但是消耗令牌(即请求)速度不固定(可以应对一些某些时间请求过多的情况);每个请求都会从令牌桶中取出令牌,如果没有令牌则丢弃该次请求。
Google开源工具包Guava提供了限流工具类RateLimiter,该类基于令牌桶算法(Token Bucket)来完成限流
https://blog.csdn.net/peiwuyang/article/details/45066341
https://blog.csdn.net/tianyaleixiaowu/article/details/74942405
https://blog.csdn.net/collonn/article/details/72877812
https://blog.csdn.net/I_will_try/article/details/77881188
http://ifeve.com/guava-ratelimiter/
https://my.oschina.net/hanchao/blog/1833612
3、
4、
5、
6、
7、
8、
9、
10、
11、
12、
13、
14、
15、
16、
17、
18、
19、
20、
21、
22、
23、
24、
25、