![792e54569aa976febc98650c79e0ed46.png](https://i-blog.csdnimg.cn/blog_migrate/4ec39acea670de5a78d3695c393e31c1.jpeg)
架构演进
前言
本系列教程主要讲解如何使用公有云产品搭建一个弹性高性能的Web集群,作者曾经就职于某知名大厂的技术服务商,负责架构和部署单日几百PV到约5千万PV的弹性Web集群。如果您是那种鄙视我们这些站长巨人肩膀上,借助成熟的公有云产品来搭建集群者,那么本系列并不适合您。因为作者讲解的并不是那种自建机房,负载均衡,云服务器,弹性伸缩,API网关都需要自己亲自去搭建和优化的集群。本系列主要分享的是自身的一些Web集群方面的经验并不属于纯理论知识分享。看完本系列教程,你也能够使用公有云成熟产品矩阵搭建一个弹性高性能的Web集群。
系列教程
- 《第一天系统架构选型和云产品选购》主要讲解Web集群的架构选型(单机,弹性高性能Web集群集群,K8S集群,ServerLess集群),以及阿里云产品的选购和产品优惠相关小技巧。
- 《第二天服务器操作系统选取和安装优化》主要讲解云服务器操作系统的选取,以及系统安装优化,会顺便讲解一下如何购买更加节约费用。
- 《第三天搭建自动部署系统的工具》主要讲解如何搭建代码托管服务、CI/CD持续构建服务、Bug管理和追踪服务、Doc服务等,以及如何组合成一套自动部署系统的工具。
- 《第四天Web环境搭建及创建快照策略》主要讲解在每台云服务器上如何搭建Web环境,以及搭建后创建系统快照策略和系统镜像。
- 《第五天配置负载均衡及系统弹性伸缩》主要讲解如何配置负载均衡,云服务器监控,弹性伸缩等。
- 《第六天创建系统备份策略》主要讲解集群中云服务器、数据库、缓存服务器、OSS等创建哪些快照策略。
- 《第七天部署Wordpress应用进行系统测试》本文主要是部署一个Wordpress在线博客系统,并使用阿里云性能测试PTS服务进行集群测试等
- 《番外篇一键自动部署集群工具》本文主要就是提供一个作者自制的工具(使用阿里云资源编排ROS),您只需要输入几个简单的参数,然后点击一下按钮就自动部署好整个Web集群。
架构演进
- 单机Web
网站初期为了验证市场需要快速部署上线网站,因此这个阶段大部分架构师会直接使用现成的LNMP或LAMP脚本来将所有代码、数据库、静态文件、用户上传文件、日志文件等全部部署到一台机器上去,只需要大概支撑每秒几十到一两百的PV即可。
![6c5a9992b8f96941f8710872b9f1f9bc.png](https://i-blog.csdnimg.cn/blog_migrate/9183d68d3f45354d20196e9cb8f90746.jpeg)
单机Web
- 弹性高性能Web集群
随着流量的增加这时架构师就会发现原先那套网站,无论是服务器部署还是代码结构都不适合随时爆发的流量,因此这阶段架构师就会进行网站改版以及服务器集群化。需要做以下几件事情:
- 动静分离,其中静态资源和用户上传的文件资源直接存储到云厂商对象存储服务器上
- 为网站应用搭建Web集群
- 数据库服务器单独部署
- 增加Redis来解决
- 修改网站代码
- 部署代码托管和自动部署服务
![04d7e27807b8d1ec2215cf1ae1ea7ed0.png](https://i-blog.csdnimg.cn/blog_migrate/68953a0abcc7bef618b3af3e72d31c68.jpeg)
弹性高性能Web集群
- K8S集群
流量一天一天的增多,我们自己搭建的弹性高性能Web集群会出现两个瓶颈:1). 系统利用率不高,一般只有百分之七、八十 2). 应用使用的后端语言越来越多了起来,包括PHP、Python、GO等,这就导致集群中同时存在多套环境,环境管理变得复杂多了。因此容器化应用也慢慢的提到了日程。容器化应用有以下好处:
- 提高系统利用率
- 应用微服务化部署到独立容器中,各个容器环境互不影响
- 支持快速启动每个微服务容器
- 支持容器的异常恢复和自动伸缩
- 开发,测试,预发布,生产环境统一
注: 下一个系列《容器化部署WordPress知识付费网站》将讲解使用K8S集群搭建和部署WordPress集群。
- ServerLess无服务
ServerLess应用无需运维底层云服务器,按需使用,按量计费,非常有利于开发API。使用阿里云函数计算和API Gateway能够搭建一套类似腾讯小程序云一样的环境,开发人员只需要按正常流程开发代码(后面会有一个系列的文章讲解如何自己搭建一套简单微服务API框架),运维人员打包部署代码目录即可。从容器部署应用改成ServerLess方式部署几乎不需要花费太多的时间和经历,但是服务器成本却能够节约许多,作者曾经使用该方案搭建一套小程序自动部署工具(微信小程序服务商),每个月成本几乎可以忽略不计。
![f4535fa7b674df0e534bb7b2ea711efe.png](https://i-blog.csdnimg.cn/blog_migrate/672b55ae957d29049f8a570529320211.jpeg)
ServerLess无服务
注: 下一个系列《ServerLess小程序自动部署工具》将讲解如何开发部署一套按需付费,稳定高性能的自动部署小程序工具集。