使用PHP在高并发时,如何做接口限流服务
Posted PHP自学中心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHP在高并发时,如何做接口限流服务相关的知识,希望对你有一定的参考价值。
文章来自:php自学中心
点击加入:
技术交流微信群
我们在学习中单枪匹马,还不如一次短短的交流,你可以在别人吸取各种学 习经验,学习方法以及学习技巧,所以,学习与交流少不了一个圈子,提升 你的学习技能,请点击加技术群:
记得备注你会的一种PHP框架
视频教程分享
更多视频教程请查看码农网IT技术教程
1 2020年redis面试全套视频教程
链接:http://www.mano100.cn/thread-1588-1-1.html
2 2020年最新版Docker 教学视频
链接:http://www.mano100.cn/thread-1587-1-1.html
3 2020-Python入门视频全套全开源(最新版)
链接:http://www.mano100.cn/thread-1632-1-1.html
4 2020 mysql数据库零基础到精通教程
链接:http://www.mano100.cn/thread-1637-1-1.html
链接:http://www.mano100.cn/thread-1633-1-1.html
精选文章正文
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。
缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;
而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;
而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、因此需有一种手段来限制这些场景的并发/请求量,即限流。
限流的目的
限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页或告知资源没有了)、排队或等待(比如秒杀、评论、下单)、降级(返回兜底数据或默认数据,如商品详情页库存默认有货)。
常见的限流
1 一般开发高并发系统常见的限流有:
2 限制总并发数(比如数据库连接池、线程池)
3 限制瞬时并发数(如nginx的limit_conn模块,用来限制瞬时并发连接数)
4 限制时间窗口内的平均速率(如Guava的RateLimiter、nginx的limit_req模块,限制每秒的平均速率);
5 其他还有如限制远程接口调用速率、限制MQ的消费速率。
6 另外还可以根据网络连接数、网络流量、CPU或内存负载等来限流。
网上很多限流服务的例子大都是java的,这里给大家分享几节【用php与swoole,redis如何做高并发接口限流服务】的课程,做做笔记,学习一下!
目录如下:
PHP-swoole+redis实现接口限流01
PHP-swoole+redis实现接口限流02
PHP-swoole+redis实现接口限流03
PHP-swoole+redis实现接口限流04
PHP-swoole+redis实现接口限流05
PHP-swoole+redis实现接口限流06
PHP-swoole+redis实现接口限流07
PHP-swoole+redis实现接口限流08
详情可查看
链接:http://www.mano100.cn/thread-1639-1-1.html
获取教程
以上是本文的全部内容,希望对大家的学习有帮助,也希望大家多多支持 php自学中心 ,学习与交流少不了一个圈子,点击加技术群:
以上是关于使用PHP在高并发时,如何做接口限流服务的主要内容,如果未能解决你的问题,请参考以下文章