39. 横向扩容

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

横向扩容

目前为止,我们介绍的大部分是单机优化的方案,但毕竟单机能承载的流量有限,应对大规模以及不断增长的流量,最终的方案是实现服务器集群部署,随时做好 系统横向扩容 的准备。

横向扩容(Horizontal Scaling),泛指用更多的节点支撑更大量的请求。在 Laravel 应用中,指的是把应用依赖的软件服务都独立到单独的机器上,并且按照可承受无限成长流量的目标进行配置。以 LaraBBS 为例子,我们主要依赖几个服务:

  • Nginx Web 服务器
  • PHP-FPM 脚本解析服务
  • MySQL 数据库
  • Redis 缓存
  • Redis 队列
  • 计划任务

接下来将单独演示拓扑结构。

PHP-FPM 集群

用户请求通过 Nginx 负载均衡服务器,按照算法将请求平均分配给 PHP-FPM 服务器,这些服务器可以随时增加数量以应对突增的流量:

横向扩容

MySQL 读写分离

这里我们做了数据库主从读写分离...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0

暂无话题~