13、使用Zuul在API网关进行限流

使用Zuul在API网关进行限流

1. 垂直扩展与水平扩展

在系统扩展方面,存在垂直扩展和水平扩展两种方式:
- 垂直扩展 :为同一个微服务分配更多的资源,如增加内存和CPU核心数。但微服务主机上可用的资源限制了垂直扩展的程度。
- 水平扩展 :在基础设施中添加更多的微服务实例。理论上,水平扩展是无限的。

不过,扩展并非免费的,无论选择哪种扩展模式,都需要付出成本。而且系统的扩展存在物理限制,有时受限于可用的物理硬件数量,有时也受软件水平扩展能力的限制,特别是对于有状态的软件系统,如依赖关系型数据库的系统,由于扩展关系型数据库的复杂性,软件扩展到一定程度会变得越来越困难。

2. 限流的必要性

由于上述扩展的复杂性,有必要限制系统处理的请求数量。合理设置这些限制,能确保服务的所有消费者都能公平地获得系统可处理的总流量配额。同时,限制请求数量还能保护系统免受攻击者通过发送大量请求进行DoS和DDoS攻击,从而防止其他用户无法访问系统。

3. 限流类型
3.1 基于配额的应用限流

为特定的客户端应用分配请求配额,可应用于微服务的货币化场景,也能防止微服务被过度消费。例如,订单处理微服务可能会被多个应用(如移动设备、Web应用和桌面应用)访问。假设该服务每秒能处理1000个请求,如果所有移动应用集体消耗了全部1000个请求,那么Web应用和桌面应用将无法获得请求。

解决方法是为每个应用分配一个配额,如每秒200个请求,并在API网关强制执行该配额。这样,单个应用或设备就无法使系统中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值