第二章 大象网站架构模式
一 网站架构模式
分层:一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统
分割:在纵向方面对软件进行切分
分布式:使用更多的计算机完成同样功能,模块化部署
集群:多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务
缓存:将数据存放在距离计算最近的位置以加快处理速度
异步:降低耦合性
冗杂:满足7*24小时连续运行,就需要一定程度的服务器冗杂运行
自动化:无人值守的情况下正常运行,自动化部署、自动化报警、自动化降级等
安全:互联网的开放性使其需要面对巨大的安全挑战
二 架构模式在新浪微博的应用
一开始的LAMP架构(Linux + Apache + Mysql + PHP)
系统分为三个层次,最下层是基础服务层,中间是平台服务和应用服务层,最上层是API和业务层
被分层和分割后的业务模块分布式部署,每个模块部署在一组独立的服务器集群上
早期的同步推模式进化成异步推拉结合模式
使用多级缓存策略
冗杂复制灾备中心
一些列化的自动化工具
不积跬步,无以至千里;不积小流,无以成江海
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!