杭州派迪科技为高端客户提供品牌利来手机网址官网咨询策划,品牌利来手机网址官网设计,品牌利来手机网址官网建设开发服务,以国际化视野和标准为基础,为各行业领军品牌提供高端企业网站定制、策划、设计、互动与制作
查看详情用 php 编写支持高并发的网站,需要做什么处理?-利来国际登录
前段时间有网友建议我说说php开发高并发网站的方法,对于当前互联网发展的速度,这以后将是一个很常见的事情,关于高并发可以写一本书了,这里就只简单说说,抛砖引玉一下,学无止境,希望与大家共同学习!
一般来说,解决web高并发的有效手段都是采用可线性扩展的多层分布式架构,
webserver (nginx) :这一层是可以轻松分布式部署的,结合智能dns解析可以简易地防止单点故障、实现区域访问加速,结合lvs很容易实现负载均衡。这一层主要是负责处理静态请求和转发php请求至第二层的php处理节点,至于静态资源地址()可以单独拿出来部署,或者直接使用商用的云存储服务(国内七牛不错,国外有amazon s3)
php处理节点:一个节点其实就是一个监听特定端口的系统进程,webserver的请求通过负载均衡器(我用的aws的loadbalancer)进行分发,很好实现分布式和负载均衡。我现在用的还是php自带的php-fpm,其实facebook出的hhvm性能非常强悍,但是还不能100%通过我项目的单元测试,等hhvm成熟过后可以平滑替换
高速缓存:用的memcached,这一层的作用主要是减轻数据库io和加快热数据访问,缓存策略与程序耦合度较高,不赘述,但简单地说有两种方式,一种是在程序的全局层面加一个缓存处理,这种方法代码耦合度低,但是有效命中率不高,有些项目不一定适应,另一种是在具体的数据存取处加缓存处理,这种办法程序耦合度较高,但是缓存命中率非常高,几乎没有无效缓存存在,我用的是这种。
数据库 :我现在的项目数据规模不大,暂时只用了单台数据库,但是程序逻辑上已做好了数据库线性扩展的准备。其实数据库层的扩展是老生常谈了,常用手段是分库分表,这一块需要在前期的代码就打下基础,另外更平滑地手段是使用中间件,比如360的atlas,阿里巴巴的cobar,淘宝的tddl,中间件可以在不大范围变更代码的情况下扩展,但是具体的使用场景还是有限的,具体项目还需单独考察。
其他:根据不同的项目,架构还可以选择性地使用队列,我现在用的beantalkd,redis也是一个很好的选择。队列常用的使用环境是邮件发送和站内消息推送上面,但是在某些场景下也可以作为核心数据库的缓冲,对应对大并发或者突发性流量也是不错的选择
相关专题
-
找网站建设公司的好处
2021-12-31
-
移动网页设计:你需要知道的
2021-12-30
-
你可能会犯的网页设计错误
2021-12-29
-
是什么让访问者喜欢您的网站设计?
2021-12-28
-
改善网站设计的 6 种方法
2021-12-27
-
专业网页设计带来商业机会的5种方式
2021-12-26
体验从沟通开始,让我们聆听您的需求!
开始您的数字化品牌体验! 0571-85815193 期待您的来电!

派迪业务总监微信号
了解最新项目报价

派迪产品经理钉钉号
免费获取项目方案