大型网站架构设计与演进
大型网站的架构设计,说白了就是在用户暴涨、求飞起、数据堆成山的时候,网站还能稳稳地扛住不宕机。嗯,架构的活儿不只是搭框架那么简单,还得考虑怎么抗压、怎么扩展、怎么优雅地“救火”。
多朋友一开始都把架构想简单了,觉得加几台服务器就完事,其实坑不少。比如负载均衡就有好几种玩法,HAProxy搭配Keepalived用得比较多,稳定还好配置,这篇文章讲得还挺细。
架构演进这块也别小看,像早期的静态资源分离和数据库分库分表,现在看都是基础操作了。后来为了优化性能,搞本地缓存、页面片段缓存这些,甚至用了ESI,就是只缓存页面一部分,挺聪明的。
讲到缓存,其实前端也能出力。比如合理利用浏览器缓存
,用Cookie
代替Session
,甚至前端加点Ajax
配合局部刷新,都能减轻后端压力。路径优化也是细节活,比如压缩文件、合并求这些,能省不少带宽。
数据库层同样重要,选型要慎重。MySQL是老朋友,配合Redis做缓存也挺常见的。这份教程讲了不少优化方法,适合想精进这块的朋友。
提醒下你,架构不是一劳永逸的事,得随着业务一起变。如果你做的是那种访问量波动大的项目,比如秒杀、抢购类的,建议早点规划好异地容灾和并发控制,不期补救成本太高。
下载地址
用户评论