南京j***a开发常用指南 正厚软件
作者:正厚软件2020/3/10 0:05:03





分析之前

依我个人的理解来说限流的话应该灵活到可以针对每一个接口来做。比如说一个类里面有5个接口,那么我的限流插件就应该能针对每一个接口就行不同的限流方案。所以呢,既然针对的每个接口所以就需要一个可以标示这个接口的key(我取的是类名 方法名 入参)。12345678910111213if(存在key){value--。

分布式限流强烈推荐使用redis lua或者nginx lua来实现。

这里用2个限流条件来做示例讲一下常见的限流算法:

接口1它10秒钟很大允许访问100次

接口2它10秒钟很大允许每个人访问100次。

计数器算法

这个算法可以说是限流算法中***简单的一种算法了。

核心思想

计数器算法的意思呢就是当接口在一个时间单位中被访问时,我就记下来访问次数,直到它访问的次数到达上限。

涉及变量

接口(key)

时间单位(expire)

允许访问多少次(limit)

访问次数(value)

条件一

当一个请求过来时,我们就会得到这个key。

123456789 if(存在key){ value ; if(valuegt;=limit){ 不能访问 } }else{ 添加key,value为1 设置key过期时间为expire }


你的客户在下游使用什么技术?考虑这样一个场景:您向客户交付分析数据。您正在使用NoSQL来存储分析数据。然而,您的一个客户决定坚持使用基于SQL的报告系统。

这对你来说意味着什么?

这意味着您现在需要将所有NoSQL数据转换为SQL格式,并通过Azure数据工厂等服务将其向下推到客户的SQL数据库。这是您需要承担额外的开发和运营成本。如果您的所有下游客户都在使用SQL,那么您需要认真地考虑是否使用NoSQL和做所有这些昂贵的数据转换对您的系统有意义吗?你应该能够回答任何有关你列上简历的经历方面的问题,并且解释清楚这一经历如何让你成为本工作更好的候选人。


吞吐量:一段时间内应用系统处理用户的请求数(以下介绍指单位时间内,也可以理解为吞吐率),这个定义考察点一般是系统本身因素;分析之前依我个人的理解来说限流的话应该灵活到可以针对每一个接口来做。当然也可以用单位时间内流经被测系统的数据流量,一般单位为b/s,即每秒钟流经的字节数,这个定义的考察点既有系统本身因素也有网络,外设等因素,也可以理解为除客户端以外的测试环境及被测系统。


商户名称:南京正厚软件技术有限公司

版权所有©2025 产品网