《大型网站技术架构原理与解析》第二章 大型网站架构模式

模式:每一个模式描述了一个在我们周围不断重复发生的问题及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必重复工作。

2.1 网站架构模式

为了解决大型网站面临的高并发访问、海量数据处理、高可靠运行等一系列问题与挑战,大型互联网公司提出了许多解决方案,以实现网站高性能、高可用、易伸缩、可扩展、安全等各种技术架构目标。

2.1.1 分层

分层是将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责。

OSI7层网络模型、TCP/IP四层模型、计算机硬件、系统、软件就可以说是一种分层结构。
-w774
分层有分层的规范:禁止跨层次调用、禁止逆向调用
在实践中,分层内部还可以继续分层。

2.1.2 分割

分割是纵向方面对软件进行切分。

-w646

2.1.3 分布式

对于大型网站,分层和分割主要目的就是为了切分后的模块便于分布式部署,不同木块部署到不同的服务器上,通过远程调用协同工作。

但是分布式对网络通信质量、服务器宕机、数据一致性等要求很高,CAP理论。
常见方案有:
1、分布式应用和服务
2、分布式静态资源网站
3、分布式数据和存储:除了传统的关系数据库分布式部署外,nosql产品几乎都是分布式的。
4、分布式计算

2.1.4 集群

-w651

2.1.5 缓存

缓存就是将数据放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段。

CDN:内容分发网络。(部署在距离终端用户最近的网络服务商)
反向代理:用户最先请求达到的地方。反向代理服务器是缓存网站静态资源的地方。

本地缓存:在应用服务器本地缓存热地数据,应用程序可以在本机内存中直接访问,无序访问数据库

分布式缓存:将数据缓存在一个专门的分布式缓存急群众,应用程序通过网络通信访问。
使用缓存有两个条件:1、数据访问热点不均衡 2、数据在某段时间内有效,不会很快失效。

2.1.6 异步

异步架构典型的是生产者消费者模式,两者不存在直接调用,保持数据结构不变,就可以互不影响。
其作用有:1、提高系统的可用性
2、加快网站响应速度
3、消除并发访问高峰
-w661

2.1.7 冗余

网站需要24小时运行,随时故障,需要一定服务器冗余运行、冗余备份,这样当有服务器宕机的时候,可以接管服务以及数据。
数据库定期备份,存档保存,实现冷备份外,为了保证在线高可用,要主从分离,实现热备份。

为了抵御地震,容灾,网站会对整个数据中心备份,全球范围内部署灾备数据中心。

2.1.8 自动化

自动化架构设计主要集中在发布运维方面。
使发布过程自动化可以有效减少故障,发布过程包括诸多环节,自动化代码管理,版本控制、分支创建合并等自动化。
自动化测试,代码开发完成后,系统自动启动自动化测试
自动化安全监测,静态烧苗、进行测试环境安全共计测试,最后是自动化部署。

2.1.9 安全

通过密码和手机校验码进行身份认真;交易、登录对网络通信加密。防止机器人共计使用验证码,对于XSS攻击、SQL注入、进行编码转换等处理,对垃圾信息过滤,交易等信息进行风险控制。

2.2 架构模式在新浪微博的应用

-w682
-w627
系统分为三个层次,最下面的是基础服务,提供数据库、缓存、存储、搜索等数据服务,以及其他一些基础技术服务,这些服务支撑了新浪的海量数据和高并发访问。
-w715

-w728

2.3 小结

不恰当使用模式,为带来新的问题,好的设计绝对不是模仿,不是生搬硬套,而是对问题深刻理解之上的创造与创新,即使是”微创新“也是让人耳目一新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值