# 网关

[Gateway网关](https://github.com/youngzil/quickstart-gateway)

1、

2、

3、

4、

5、

网关、微服务\
\[quickstart-gateway]

### 代理服务器

流量网关 或者 代理服务器 或者 负载均衡

***

##

***

##

***

##

***

##

***

##

***

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、

***
