Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php高并发网站是什么意思

php高并发网站是什么意思

发布时间:2020-08-06   编辑:www.jquerycn.cn
jquery中文网为您提供php高并发网站是什么意思等资源,欢迎您收藏本站,我们将为您提供最新的php高并发网站是什么意思资源
高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。

一般来说,解决WEB高并发的有效手段都是采用可线性扩展的多层分布式架构,我生产项目的架构是这样的,就在这里抛砖引玉一下。

Webserver (Nginx) : (推荐学习:PHP视频教程)

这一层是可以轻松分布式部署的,结合智能DNS解析可以简易地防止单点故障、实现区域访问加速,结合LVS很容易实现负载均衡。

这一层主要是负责处理静态请求和转发PHP请求至第二层的PHP处理节点,至于静态资源地址(http://misc.xxxx.com)可以单独拿出来部署,或者直接使用商用的云存储服务(国内七牛不错,国外有Amazon S3)

PHP处理节点:

一个节点其实就是一个监听特定端口的系统进程,webserver的请求通过负载均衡器(我用的AWS的loadbalancer)进行分发,很好实现分布式和负载均衡。

我现在用的还是php自带的php-fpm,其实facebook出的hhvm性能非常强悍,但是还不能100%通过我项目的单元测试,等hhvm成熟过后可以平滑替换

高速缓存:

用的memcached,这一层的作用主要是减轻数据库IO和加快热数据访问,缓存策略与程序耦合度较高,不赘述,但简单地说有两种方式,一种是在程序的全局层面加一个缓存处理,这种方法代码耦合度低,但是有效命中率不高,有些项目不一定适应,另一种是在具体的数据存取处加缓存处理,这种办法程序耦合度较高,但是缓存命中率非常高,几乎没有无效缓存存在,我用的是这种。

数据库 :

我现在的项目数据规模不大,暂时只用了单台数据库,但是程序逻辑上已做好了数据库线性扩展的准备。

其实数据库层的扩展是老生常谈了,常用手段是分库分表,这一块需要在前期的代码就打下基础,另外更平滑地手段是使用中间件,比如360的Atlas,阿里巴巴的cobar,淘宝的TDDL,中间件可以在不大范围变更代码的情况下扩展,但是具体的使用场景还是有限的,具体项目还需单独考察。

其他:

根据不同的项目,架构还可以选择性地使用队列,我现在用的beantalkd,Redis也是一个很好的选择。队列常用的使用环境是邮件发送和站内消息推送上面,但是在某些场景下也可以作为核心数据库的缓冲,对应对大并发或者突发性流量也是不错的选择

以上就是php高并发网站是什么意思的详细内容,更多请关注jquery中文网其它相关文章!

  • 本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    php开发的网页是什么意思
    php与h5全栈工程师是什么意思
    网址php是什么意思
    php岗位是什么意思啊
    html5是什么意思
    网页php开发是什么意思?
    php网站是什么意思?
    php网站是什么?
    php网址导航是什么意思
    怎么让百度快速收录新网站

    [关闭]