一、合适的才是最好的

不要开口闭口大谈架构,要充分考量自身的业务特性,以及所拥有或可调配的资源。明确了这些之后再适度设计,以确保可以为应用提供稳定的服务。

1、单机架构

PHP应用架构演化_第1张图片

适用于:起步阶段,访问量较小,预算少等情形

2、动静分离架构

PHP应用架构演化_第2张图片

图片等资源比较耗费I/O与带宽,容易让服务器陷入困境。可以单独部署,并选择专属服务器,以优化图片等内容,提升访问速度并减少带宽占用。

3、应用与数据分离架构

PHP应用架构演化_第3张图片

MySql单独部署有助于进一步合理利用资源,提升资源利用率,并可针对性的优化数据库服务器。

4、数据库主从架构

PHP应用架构演化_第4张图片

一般而言,读操作会比写操作耗时,进一步分离数据库,主库用于写,丛库用于读。

可以使用数据库中间件(mycat等)来保持开发时的一致性(对开发而言是一个库)!

5、负载均衡架构

PHP应用架构演化_第5张图片

通过nginx做请求转发,目的是将请求均匀的分配到各个应用服务器,以此来降低单个服务器的压力。

6、微服务架构

PHP应用架构演化_第6张图片

其实就是负载均衡架构的延伸,将应用拆分,相当于各个功能独立的子系统。

二、基本思想

1、分冶,大而小之,繁而简之。

2、分工,做最擅长的事。

3、适度,过犹不及。