[笔记] 大型网站技术架构——核心原理与案例分析 [二]
2015-12-10 22:28
931 查看
2 大型网站架构模式
模式的关键在于模式的可重复性,问题与场景的可重复性带来解决方案的可重复使用(类似于设计模式中的模式)。2.1 网站架构模式
2.1.1 分层
将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。在大型网站架构中也采用分层结构,将网站软件系统分为应用层、服务层、数据层。
优势:便于分工合作开发和维护
挑战:必须合理规划层次边界和接口,以及在开发过程中要严格遵循分层架构的约束,进制跨层次的调用以及逆向调用。
2.1.2 分割
在纵向方面对软件进行切分。分割形成高内聚低耦合的模块单元。2.1.3 分布式
对于大型网站,分层和分割的一个主要目的就是为了切分后的模块便于分布式部署。分布式可能遇到的问题:
1. 网络延迟的影响
2. 服务器宕机
3. 数据一致性保证
4. 开发维护的问题
在网站应用中,常见的分布式方案有以下几种:
分布式应用和服务
分布式静态资源
分布式数据和存储(传统的关系数据库分布式部署 / NoSQL )
分布式计算(MapReduce)
2.1.4 集群
将独立部署的服务器集群化,即多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。2.1.5 缓存
CDN反向代理
本地缓存:在应用服务器本地缓存这热点数据
分布式缓存:将数据缓存在一个专门的分布式缓存集群中
2.1.6 异步
在分布式系统中,多个服务器集群通过分布式消息队列实现异步,分布式消息队列可以看作内存队列的分布式部署。网站扩展新功能非常便利
提高系统可用性
加快网站响应速度
消除并发访问高峰:将突然增加的访问请求数据加入消息队列中,等待消费者服务器依次处理,就不会对整个网站负载造成太大压力
2.1.7 冗余
服务器冗余运行+数据冗余备份数据库——冷备份+热备份
灾备数据中心
2.1.8 自动化
2.1.9 安全
2.2 架构模式在新浪微博的应用
相关文章推荐
- [笔记] 大型网站技术架构——核心原理与案例分析 [一]
- 给女票纪念日网站2015年12月10日
- 2007年以来百度收购过哪些公司——想一想,自己可以做什么软件或网站可以增加被收购的机会?
- 一些组织和个人网站
- 基于微服务的软件架构模式
- 技术类博客网站推荐
- iis部署网站常见问题
- 网站端口
- 当内网内没有条件建立dns服务器,又不想用IP访问网站,应配置什么文件
- 私人网站收藏——精简
- 发布网站中的那些事儿
- iis 部署网站常见问题
- openwrt架构分析
- 老李分享:持续集成学好jenkins 2
- Corosync+Pacemaker+DRBD实现Mysql服务的高可用 推荐
- Corosync+Pacemaker实现web集群高可用
- 性能测试分享:系统架构
- Hive (二) 系统架构
- membership的一些参考网站及目前所学
- 国信办主任回应中国删帖、屏蔽国外网站