bluetears 2019-07-01
网站,很多it行业的人都了解。
网站的成长过程,却是很多it行业人士并不理解的过程,往往还有人调侃:做个淘宝网多少钱?本文将逐步讲述网站的成长过程。讲述网站的访问量从0到1,从1到100,从100到1000,从1000到1000000+的过程。
静态网站
这是所有网站的起步阶段,几乎只有几个页面,固定的html代码。部分网站是由程序员偷懒直接创建,可能会绕过这个环节。
这时候往往使用虚拟主机发布。或者使用低配服务器发布。内容更新往往频率很低。顺道提一嘴,这个时候的网站,甚至可以通过对象存储进行发布,参考本站文档《手里一堆闲置域名怎么用起来?巧用OSS发布静态网站!》
动态网站
这是网站的初步形态,相对有了一些动态功能,有了数据库,有了登录等功能,具备文章内容的增删改查等常见功能。其实已经是个名副其实的网站了。但是这个过程,仅仅是静态网站的升级,有了动态内容可展示。大部分企业官网,博客等均为此类。
这时候的网站依然局限于单机发布,或者使用虚拟主机(网站空间)发布。网站尚无较难克服的瓶颈出现,推荐使用阿里云低配ECS发布,参考《阿里云云服务器ECS》
访问量增长第一阶段(十几个用户并发访问卡顿):带宽不足
这个阶段,往往是由于静态资源过多开始引发,打开一个页面累计下载图片,js文件,甚至视频等文件一下子占用了服务器总带宽,从而网站打开过慢。
这个时候,简单的做法是增加带宽,高级点的做法是套用CDN,也或者通过外部引入静态文件实现解决。
访问量增长第二阶段(几十个用户并发访问网站报错甚至超时):单机配置不足
随着访问量上升,原本的低配服务器或者虚拟主机空间的cpu,内存等主服务器资源开始不足。
这个时候,网站依然工作在单机状态。问题解决过程也很简单,那就是升级服务器配置
访问量增长第三阶段(几百人并发访问系统延迟很高):硬盘IO资源不足
访问量上升到一定程度,带宽够用,cpu够用,内存够用等情况下,可能就是硬盘IO不足。
这个时候的升级方案,往往是网站程序与数据库分离,数据库单独存在一块硬盘上(例如ssd硬盘),甚至专门一台服务器放数据库。这个阶段,往往是下一步升级变得特别困难的时候,因为已经开始超出单机承载范围了。当然,这个阶段已经非常有必要依赖CDN等组件加速了。专业的数据库产品可参考《云数据库RDS》
访问量增长第四阶段(超过几百人并发访问):大型网站架构
现在的网站,已经算是大型网站了。缓存设计,负载均衡发布,数据库高性能优化,数据库读写分离,高性能中间件,分布式设计,CDN加速,安全防御,云架构发布等等五花八门的技术综合使用。
这时候往往很难由一个人完成一个网站的开发工作。往往要在很多瓶颈环节做优化:
动静分离:使用对象存储OSS共享存储文件
缓存加速:memcached,redis等内存型解决方案加速
数据库:分布式数据库DRDS,读写分离发布,分库分表设计,高性能硬盘支持,规范的表结构
负载均衡:实现多web服务器共同承担大流量访问,实现访客人数与服务器数量成正比
CDN加速:实现静态资源让用户就近加载
安全防御:DDOS攻击防御,屏蔽恶意刷新带来的无效压力,屏蔽黑名单爬虫采集
原文地址: https://www.opengps.cn/Blog/View.aspx?id=245 文章的更新编辑依此链接为准。欢迎关注源站原创文章!