大型网站架构读书笔记

大型网站特点:

  1. 高并发,大流量。
  2. 海量数据。
  3. 高可用。某些大型系统可达4个9(全年99.99%可用)。
  4. 用户分布广泛,网络环境复杂。
  5. 需求变化快,版本迭代频繁。
  6. 安全环境恶劣。

大型网站架构模式:

大型网站架构有一些可复用的经验,我们称这种经验为模式;

  1. 分层:分层的概念在计算机领域随处可见,例如网络7层协议,存储分层等;分层在软件架构方面的主要目的是使系统逻辑清晰,解耦关注;如比较经典的分层方式可将系统划分为UI层,业务逻辑层,数据访问层;这几层可以部署在同一台服务器上,也可以部署在不同服务上。
  2. 分割:如果说分层是对系统的横向切割,那么按照业务粒度进行的分割则是对系统纵向切割。分割之后的系统相互独立,彼此之间不再相互影响;目前比较流行的微服务则是这种思想的体现。
  3. 分布式:分层与分割的目的是为了系统能分布式的部署,相对单机分布式系统使用更多的服务器资源,更多的资源意味着更强的处理能力;同时分布式会引入一些难题,比如一致性以及分布式事务的问题。
  4. 集群:多台服务器提供同一个服务,同时使用负载均衡达到平衡负载的目的。
  5. 缓存:缓存在计算机领域的地位不言而喻,大型网站架构中,各个层次都可以应用缓存,CDN本质上也是缓存,反向代理提供的缓存可以减轻应用服务器的压力,应用服务可以使用本地缓存,也可以使用分布式缓存。
  6. 异步:异步是多个系统解耦的重要手段,系统与系统之间不再是直接调用关系,而是通过消息进行通讯;在一些场景中能起到提升性能,系统可用性以及流量消峰的作用。
  7. 冗余:冗余是提升系统可用性的重要手段,应用层集群中一台服务器宕机,负载均衡的故障转移功能会及时的把请求转发到其他服务器,数据层的主从备份。
  8. 自动化:自动化更多的是在运维方面中体现,系统的故障很多是出自发布阶段,版本管理,自动化测试,自动化发布,自动化监控等手段有效的减少因版本迭代带来的生产故障。
  9. 安全:互联网系统曝露在公网上,时时刻刻有安全的隐患。

大型网站架构关注点:

衡量一个大型网站架构的好坏可以从以下几个方面着手:

  1. 性能:一个网站的性能好坏直接影响用户体验,性能往往是架构重构的原始动力。
  2. 可用性:宕机对大型网站造成的损失不可估量,一般大型网站都宣称7×24可用,保证网站的高可用性重要手段就是冗余。
  3. 伸缩性:伸缩性是指添加或减少一台服务器不会对现有服务造成影响。
  4. 可扩展性:可扩展性从业务功能角度考虑系统的扩展性,新的业务节点加入进来不会对现有的业务造成影响。
  5. 安全。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值