第二章 大象网站架构模式
一 网站架构模式
分层:一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统
分割:在纵向方面对软件进行切分
分布式:使用更多的计算机完成同样功能,模块化部署
集群:多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务
缓存:将数据存放在距离计算最近的位置以加快处理速度
异步:降低耦合性
冗杂:满足7*24小时连续运行,就需要一定程度的服务器冗杂运行
自动化:无人值守的情况下正常运行,自动化部署、自动化报警、自动化降级等
安全:互联网的开放性使其需要面对巨大的安全挑战
二 架构模式在新浪微博的应用
一开始的LAMP架构(Linux + Apache + Mysql + PHP)
系统分为三个层次,最下层是基础服务层,中间是平台服务和应用服务层,最上层是API和业务层
被分层和分割后的业务模块分布式部署,每个模块部署在一组独立的服务器集群上
早期的同步推模式进化成异步推拉结合模式
使用多级缓存策略
冗杂复制灾备中心
一些列化的自动化工具
不积跬步,无以至千里;不积小流,无以成江海
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步