一、一步步构建高并发分布式网站架构

前言

适合对象
我用LA(N)MP ✔
我用ThinkPHP5 ✔
我为小但逐渐发展网站工作 ✔
我开发/管理的PHP网站遇到了瓶颈 ✔
我会基本操作 ✔

本文会带你了解一般的适合PHP网站的分布式系统的构建,对一个PHP程序员来说,应该易于理解、实现,希望能实际解决你的网站的性能瓶颈。
本文的结构也是:概念+实际操作,希望本书对你即有思想提升也有实用价值。

你怎么想的?
首先,我们得在一点上达成一致:PHP是最好的…啊不…我的意思是,PHP是中小企业构建网站使用最多的语言。即便是BAT,他们也毫不疑问的在使用PHP,或多或少,只是具体应用场景的问题。

OK,在这一点上,唯一的问题是,很多中小企业网站用户会增长,会有一百、一千、甚至一万人同时访问。运气好,会有网站负载过重而宕机的时候。

我开始也是这么想的
解决问题的一种方案是:对比发现传统PHP运行方式是并发性差的“病原”,于是采用Swoole、Workerman异步高并发Socket网络库,或者甚至选用并发性更好的Node.Js、Erlang重构网站。这些方法产生新问题在于,当原有系统已经足够复杂时,采用新技术重构并不那么经济 —— PHP同学你得学习Swoole咯!多进程、异步数据库池、任务池都是要学习掌握的!或者学习Node.Js咯!用Javascript这门不同的语言,使用不同的框架,比如 Express.Js 来重新构架!听起来很带劲!但实际上,换用新语言重构要么意味着高昂的学习成本,要么就意味着新的雇佣关系。

而另一种解决方案可能老板更容易接受:“堆”机器 —— 因为比起人力成本,机器实在是太实惠了。况且在相同配置下,即使换用所谓的高并发的技术或者语言,可能并不能带来臆想之中的好效果。而提高机器性能则是100%显著有效的,只需要更换或添置硬件就好。弹性云服务器更好办了,加CPU、内存、硬盘,几分钟就能搞定。

可是一段时间后,生意太好了,网站总是门庭若市,老问题又来了。而单台服务器配置几乎已经到顶额,没法再加了。问题貌似不能以同样简单的形式解决了,咱们又回到了最开始追根溯源的状态。

到底什么导致了网站的瓶颈?
是大量静态文件访问?是复杂的业务逻辑?是I/O?是数据库读写?还是其他?
不同类型网站有不同的瓶颈。而就同模块化系统的思想一样,对于不同的瓶颈,我们解决问题的思想是“分而治之”—— 于是我们采用分布式系统,把负载分担到各个子系统上从而解决瓶颈问题。
这就是本书讨论和解决的核心,下面的章节都是围绕这几个瓶颈而展开的。在实际应用中,应该根据网站的具体情况,选用具体的内容并且配置具体的量(比如主从数据库个数等)。

资源索引
1.ThinkPHP
2.F
3.#

作者
haoren
全栈开发 / 数据采集 / 数据监测 / 网站建站 / 小程序
mail: 532526447@qq.com
qq:532526447

您的赞赏是我的动力!谢谢


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值