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

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

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

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

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

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

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

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

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

9)安全
这个不多说。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

One2zeror

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值