php如何解决高并发问题?
由于分布式系统的问世,高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。
处理高并发的业务逻辑是:
前端:异步请求+资源静态化+cdn
后端:请求队列+轮询分发+负载均衡+共享缓存
数据层:redis缓存+数据分表+写队列
存储:raid阵列+热备
网络:dns轮询+DDOS攻击防护
PHP解决高并发的一些方法
1、应用和静态资源分离
将静态资源(js,css,图片等)放到专门的服务器中。
2、页面缓存
将应用生成的页面缓存起来可以节省大量cpu资源。对于部分页面经常变换数据的,可以使用ajax来处理。
3、集群和分布式
集群,多台服务器具有相同的功能,主要起分流的作用。分布式,将不同的业务放到不同的服务器中,处理一个请求可能需要多台服务器,进而提高一个请求的处理速度。又分为静态资源集群和应用程序集群。后者较复杂,经常要考虑session同步等问题。
4、反向代理
客户端直接访问的服务器并不是直接提供服务的服务器,它从别的服务器获取资源,然后将结果返回给用户。
代理服务器和反向代理服务器:
代理服务器是代我们访获取资源,然后将结果返回。例如,访问外网的代理服务器。反向代理服务器是我们正常访问一台服务器的时候,服务器自己调用了别的服务器。
代理服务器我们主动使用,是为我们服务的,不需要有自己的域名;反向代理是服务器自己使用的,我们并不知道,有自己的域名。
更多PHP相关知识,请访问PHP中文网!
以上就是php如何解决高并发问题?的详细内容,更多请关注其它相关文章!
上一篇: PHP中传值和引用的区别
下一篇: PHP的抽象类和接口有什么区别
推荐阅读
-
php session无法保存问题解决办法
-
PHP中Notice: Undefined index: sku in 有关问题解决方案
-
apache下PHP无法打开其他socket (permission denied)问题解决
-
sql server 2000下载 php Sql Server连接失败问题及解决办法
-
html 调用php后echo乱码,该如何解决
-
PHP session_start()很慢问题分析与解决办法
-
PHP substr截取字符串时,中文出现乱码的问题解决
-
php在做敏感词过滤时怎么解决用特殊符号分割、简繁体、半角全角,来绕开过滤的问题?
-
php判断输出,该如何解决
-
如何安装ubuntu双系统与一些问题解决(4.解决亮度无法调节的问题)