接口频率控制类需要什么?

发布于 2022-09-13 01:02:28 字数 290 浏览 38 评论 0

自己的接口想限制下访问频率,找了找开源,貌似只有一个在更新维护的,但是有框架要求,不想引入太多不相干的代码,所以来问问,接口频率限制都需要有些什么东西?

找到的频率控制类开源项目,虽然不用,但是毕竟是相关的可以参考。
https://github.com/GrahamCamp...

PS:另外为什么php没有多少原生的单一功能类的开源项目,都是依赖框架进行的功能类进行开发?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岁吢 2022-09-20 01:02:29

packagist 搜 Throttle 第二个就是这个包。

davedevelopment/stiphle - Packagist

∝单色的世界 2022-09-20 01:02:28

需要啥?一个能存储流量数据的地方就可以,用 Redis 还是啥的都行,剩下的就是代码层面上的了,看你怎么设计呗。


你最后的问题要怪就怪在 PHP 本身生态下没有一个通用的 Web 框架吧。

还拿你这个频率控制为例,你总不能在每个 Action 开头都去写一段代码吧?那样侵入性也太大了。所以势必要有个东西能降低侵入性,至于这个东西是叫中间件(Middleware)、过滤器(Filter)、拦截器(Interceptor)还是管道(Pipeline)那都无所谓,反正是得有这么个东西。

但遗憾的是,PHP 既不像 C# 那样有官方提供的解决方案(即 ASP.NET),也不像 Java 那样有生态下的事实标准框架(即 Spring),各个 Web 框架都是自己有自己的设计思路和开发模式。

这种情况下,要么你选择配合框架去实现、开发者集成方便但就无法做到泛用性;要么你选择剥离框架去实现、但势必就要重复地造很多“轮子”(比如你提的这个库,它就利用了 Laravel 本身提供的 Cache 系统实现;你要剥离开 Laravel 的话,Cache 是不是得你自己重新实现一遍?)、等到实际使用时与这些框架集成起来的时候就会复杂。

薄荷→糖丶微凉 2022-09-20 01:02:28

这玩意专门的名词叫做限流,限流熔断降级 这三个一般是一起的,你可以都看一看,php这类第三方包的话,可以往这方面查

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文