• 技术文章 >后端开发 >PHP问题

    php如何解决高并发

    VV2019-09-21 17:57:56原创7489

    PHP解决高并发的方法

    1、应用和静态资源分离

    将静态资源(js,css,图片等)放到专门的服务器中。

    2、页面缓存

    将应用生成的页面缓存起来可以节省大量cpu资源。对于部分页面经常变换数据的,可以使用ajax来处理。

    3、集群和分布式

    集群,多台服务器具有相同的功能,主要起分流的作用。分布式,将不同的业务放到不同的服务器中,处理一个请求可能需要多台服务器,进而提高一个请求的处理速度。又分为静态资源集群和应用程序集群。后者较复杂,经常要考虑session同步等问题。

    4、反向代理

    客户端直接访问的服务器并不是直接提供服务的服务器,它从别的服务器获取资源,然后将结果返回给用户。

    代理服务器和反向代理服务器:

    代理服务器是代我们访获取资源,然后将结果返回。例如,访问外网的代理服务器。反向代理服务器是我们正常访问一台服务器的时候,服务器自己调用了别的服务器。

    代理服务器我们主动使用,是为我们服务的,不需要有自己的域名;反向代理是服务器自己使用的,我们并不知道,有自己的域名。

    5、CDN

    CDN是一种特殊的集群页面缓冲服务器,和普通的集群的多台页面缓冲服务器相比主要区别是:其存放位置和分配请求方式不同。

    CDN的服务器分布在全国各地,接收到请求后会将请求分配到最合适的CDN服务器节点来获取数据。其每一个CDN节点就是一个页面缓存服务器。

    分配方式:

    并不是普通的负载均衡,而是专门的CDN域名解析服务器在解析域名的时候就分配好的。

    一般的做法是:ISP那里使用CNAME将域名解析到一个特定的域名,然后再将解析到的那个域名用专门的CDN服务器解析(返回给浏览器,再访问)到相应的CDN节点。每个节点可能也集群了多台服务器。

    你可以知道处理高并发的业务逻辑是:

    前端:异步请求+资源静态化+cdn

    后端:请求队列+轮询分发+负载均衡+共享缓存

    数据层:redis缓存+数据分表+写队列

    存储:raid阵列+热备

    网络:dns轮询+DDOS攻击防护

    推荐教程:PHP视频教程

    以上就是php如何解决高并发的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 解决 高并发
    上一篇:php如何检查变量是否定义 下一篇:php如何解决大数据
    大前端线上培训班

    相关文章推荐

    • nginx如何实现高并发• nginx与php怎么实现高并发• 用PHP实现高并发服务器• php怎样应对高并发

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网