大型网站架构演化(读书笔记)

1 篇文章 0 订阅
1 篇文章 0 订阅

大型网站软件系统特点

  • 高并发、大流量
  • 高可用
  • 海量数据
  • 用户分布广泛,网络情况复杂
  • 安全环境恶劣
  • 需求快速变更,发布频繁

大型网站架构演化发展历程

大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据。

初始阶段网络

所有资源都在同一台服务器上
初始阶段网络

应用服务和数据服务分离

应用服务和数据服务分离

使用缓存改善网站性能

两种缓存

  • 本地缓存:缓存在应用服务上
    本地缓存的访问速度快,但是手应用服务器内存限制,缓存数量有限,而且会出现和应用程序争用内存的情况
  • 远程缓存:缓存在专门的分布式缓存服务器上
    远程分布式缓存可以使用集群的方式,部署大内存的服务器专门做缓存服务器。可以在理论上做到不收内存容量限制的缓存服务器。
    使用缓存改善服务性能

使用应用服务器集群改善网站的并发处理能力

使用应用服务器集群改善网站的并发处理能力

数据库读写分离

数据库读写分离

使用反向代理和CDN加速网站响应

使用反向代理和CDN加速网站响应

使用分布式文件系统和分布式数据库系统

分布式数据库是网站数据库拆分的最后手段,只有带单表数据规模非常庞大的时候才使用。不到不得已,网站更常用的数据库拆分手段是业务分裤,将不同的业务数据库部署在不同的物理服务器上
使用分布式文件系统和分布式数据库系统

使用NoSQL和搜索引擎

随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系型数据库技术如NoSQL和非数据库查询技术如搜索引擎。

使用NoSQL和搜索引擎

业务拆分

大型网站未来应对日益复杂的业务场景,通过使用分而治之的手段将整个网站业务分成不同的产品线,分归不同的业务团队负责。
胡提到技术上,也会根据产品线划分,将一个网站拆分成许多不同的应用,每个应用独立部署。应用之间可以通过一个超链接建立关系(在首页上的导航链接每个都指向不同的应用地址),也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。
业务拆分

分布式服务

由可服用的业务负责链接数据库,提供业务服务,而应用系统只需要管理用户界面,通过分布式服务调用共用业务服务完成具体业务操作。
分布式服务

大型网站架构演化的价值观

网站的价值在于他能为用户提供什么价值,在于网赞能做什么,而不在于它是怎么做的。

  • 核心价值观是随网站所需灵活应付
  • 驱动大型网站技术发展的主要力量是网站的业务发展

网站架构设计误区

  • 一味追随大公司的解决方案
  • 为了技术而技术
  • 企图用技术解决所有问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值