大型网站架构模式

本文主要探讨了大型网站架构的常见模式,包括分层、分割、分布式、集群、缓存、异步处理、冗余及自动化等策略。通过这些模式,可以实现网站的高性能、高可用、可扩展性,确保系统稳定运行。
摘要由CSDN通过智能技术生成

本系列博客都是通过阅读《大型网站技术架构核心原理与案例分析》进行的阅读总结和记录

网站架构模式
整体预览:
这里写图片描述

大型网站架构模式就是实现网站高性能高可用易伸缩可扩展安全等各种技术架构目标的解决方案。常见的解决方案有:
1.分层
分层就是对整个网站的架构上做一个横向的切分。一般网站可以拆分为应用层、服务层、数据层。
这里写图片描述
但是对于一个大型网站而言,每个层次都可以进行进一步的拆分 如图:
这里写图片描述

2分割
对于一个大型网站而言,除了横向切分,同样也可以进行纵向切割。可以将每个层次对不同的业务进行一个分割。如应用层根据不同的业务进行一个切割成各个独立的模块。:
这里写图片描述

3.分布式
当对一个系统进行了分层和分割后,各个独立的模块就可以进行分布式的部署,通过远程调用协调工作。
对系统进行分布式部署的时候需要考虑几点:

  • 系统进行分布式部署,意味着系统间的远程调用依赖网络。
  • 服务器的增多,代表宕机概率越大。
  • 分布式的数据一致性问题。
  • 分布式事务问题
  • 分布式的管理与维护。

    这些问题都是在进行分布式的时候需要考虑的。在目前大型网站应用中,常见的分布式方案有:

分布式应用和服务: 将系统分层和分割后进行分布式的部署,除了可以提高网站性能和并发,加快开发和发布速度、减少数据库连接资源消耗外,还可以使不同的应用复用共同的服务。便于业务功能扩展。

分布式静态资源:对静态的资源如JS, CSS,图片等进行独立的分布式部署,使得系统静态分离,甚至可以对静态资源采用独立的域名。加快浏览器并发加载速度。由独立的团队进行开发维护。提高系统开发效率。

分布式数据和存储:对海量的数据采取分布式的存储,对于事务性较强的采取关系数据库进行分布式部署,其他可以采用NoSQL数据库进行存储。如:mongodb 、redis.

分布式计算:对于系统的各种计算,可以采取分布式计算。

分布式配置:对网站线上服务器配置实时更新。

分布式锁:分布式环境下实现并发和系统。

分布式文件系统:对系统文件进行云存储。

4.集群
当对系统进行分割和分层,并且分布式部署之后,有些模块的访问规模一样太大,如淘宝的首页。或者为了提高模块的可用性,都需要进行一个多台服务器部署相同应用的集群。

5.缓存
在大型网站中,缓存是无处不在。缓存的设计可以分为:

CDN
内容分发网络。用户的请求,总是先到达离他最近的网络服务商那里,然后将网站的一些静态资源(较少变化的数据)缓存在网络服务商。以达到访问加速的效果。

反向代理
用户请求数据中心时候,最先访问到的就是反向代理服务器,因此,可以把一些网站的静态资源缓存在这里。这样用户就无需访问应用服务器就能获取到内容。

本地缓存
在应用服务器上缓存热点数据,用户请求时,直接从内存中获取,无需访问数据库。

分布式缓存
对大型网站而言,海量数据中缓存一小部分,也是很大的数据量。因此将数据缓存在一个专门的分布式缓存集群中。应用程序通过网络通信访问缓存数据。

6.异步
异步的典型架构就是生产者消费者模式。生产者负责生产数据,消费者负责消费数据。异步消息队列的好处:
1.提高系统的可用性。消费者和生产者相互独立,所以消费者服务器在出现故障修复之后,照样可以继续处理消息队列中的数据。
2.加快网站响应速度:生产者服务器在处理完业务请求之后,只需要将数据写入消息队列,然后就返回。不需要等待消费者服务器处理。延迟减少。
3.消除并发访问高峰:比如秒杀。在系统某一个点,大量用户同时访问。可能网站就会扛不住而瘫痪。因此消息队列可以将突然增加的访问放入队列中。等待消费者服务器依次处理。

7.冗余
为了保证系统的可用性,通过集群冗余实现高可用。另外还需要对数据进行定期备份,存档保存。为了保证在线业务高可用,需要对数据库进行主从分离。实时同步实现热备份。

8.自动化

  • 发布自动化
  • 代码管理自动化
  • 测试自动化
  • 安全检测自动化
  • 自动化部署
  • 自动化监控
  • 自动化报警
  • 自动化失效转移
  • 自动化失效回复
  • 自动化降级
  • 自动化分配资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值