码迷,mamicode.com
首页 > Web开发 > 详细

大型网站技术架构笔录(2):模式

时间:2015-07-25 23:02:44      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:网站   架构   

大型网站架构模式
既然是模式,就是经验之道,可重用的东西。

1)分层
想想7层或4层网络模型,每层负责相对单一的功能,上下层调用。
网站一般分为三个层次:应用层、服务层和数据层。具体实现,还可以继续细化分层。
应用层:具体业务、视图展示,网站首页,搜索结果等
服务层:为应用层提供服务支持,如购物车,用户管理
数据层:提供数据存储访问,如数据库、缓存、文件
分层独立性,保持接口不变,合理规划分层边界和接口,禁止跨层调用和逆向调用

2)分割
纵向切分,把不同的功能和服务切割开,如购物业务可拆分成家电业务、服装业务等。
高内聚,低耦合。

3)分布式
解决高并发问题。
网络延时,一致性问题等。

4)集群
多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。当某台服务器发生故障,负载均衡设备或者系统的失效转移机制将请求转发到集群中的其他服务器上,提高系统的可用性,即所谓的HA(高可用性)。

5)缓存
前面提到过,CDN、反向代理(网站前端、一般缓存静态资源)、本地和分布式缓存(热点数据)
缓存前提条件:
1)访问热点不均匀,缓存热点数据
2)缓存数据不会很快失效

6)异步
降低系统耦合性的另一手段,业务之间非同步调用,而是拆分为多个阶段,每个阶段通过共享数据异步执行,异步消息队列。
生产者消费者模式,不存在这直接调用,扩展方便
提高系统可用性,消费者

7)冗余
服务器宕机了怎么办?
当然要有数据冗余备份,这样当某台服务器宕机时,可以将其上的服务和数据访问转移到其他机器上。
  数据库除了定期备份存档保存实现冷备份之外,为了保证在线业务高可用,还需要对数据库进行主从分离,实时同步实现热备份。
8)自动化
  在无人值守的情况下,网站可以正常运行,一切都可以自动化是网站的理想状态。目前大型网站的自动化架构设计主要集中在发布运维方面。 
  ①发布部署过程自动化;
  ②自动化代码管理;
  ③自动化测试;
④自动化安全监测;

9)安全
这个不多说。

版权声明:本文为博主原创文章,未经博主允许不得转载。

大型网站技术架构笔录(2):模式

标签:网站   架构   

原文地址:http://blog.csdn.net/kzq_qmi/article/details/47060653

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!