互联网网关设计之限流算法

腾讯王卡业务第一代网关设计架构如上图所示,也许有许多人会问,nginx本身就能做网关了,为什么还需要另外开发网关呢?

答案是nginx开发网关,在线现有成员技术背景下,条件不成熟,为了快速构建我们的微服务架构,所以我们选择了基于spring cloud zuul做网关开发,这样技术栈单一,小团队比较合适,运维维护成本较低。

网关能给我们带来的好处如下:

  • 客户端认证
    无论是对内网还是外网的接口都是需要做用户身份认证的,而用户认证在一些规模大点的公司都会有统一的单点登录系统,如果每个微服务系统都是做对接单点登录系统的工作,那么显然比较浪费资源,开发效率低。可以将认证的部分抽取到网关层,然后微服务系统无需关注认证的逻辑只关注自身业务即可。

  • 访问控制
    对一些特定的接口设置白名单,访问次数,访问频率等各类设置。而这些非业务功能的配置以及变更不会影响微服务的实现可以在网关层单独做操作。

  • 负载均衡
    可以灵活的在网关层制定负载均衡策略。

  • 安全
    可以统一在网关层增加一个额外的保护层来防止恶意攻击,如果客户端直连微服务的话,每个暴露的微服务都需要面临安全问题。

       下面我们回到本文的主题“访问控制”

       访问控制中,必谈的就是限流算法了,目前比较流行的算法有“漏桶限流算法”、“令牌桶限流算法”,另外大家很少回去谈及“滑动窗口算法”

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

timy07

创作不易,每一分都是真爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值