1. 网站架构模式

1.1 分层

将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。

1.2 分割

分层是将软件在横向方面进行切分,那么分割就是在纵向方面对软件进行切分。

1.3 分布式

  • 分布式应用和服务
  • 分布式静态资源
  • 分布式数据和存储
  • 分布式计算

1.4 集群

使用分布式虽然已经将分层和分割后的模块独立部署,但是对于用户访问集中的模块(比如网站的首页),还需要将独立部署的服务器集群化,即多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。

1.5 缓存

缓存就是将数据存放在距离计算最近的位置以加快处理速度。

  • CDN : 即内容分发网络,部署在距离终端用户最近的网络服务商,用户的网络请求总是先到达他的网络服务商那里,在这里缓存网站的一些静态资源(较少变化的数据),可以就近以最快速度返回给用户,如视频网站和门户网站会将用户访问量大的热点内容缓存在CDN。
  • 反向代理: 反向代理属于网站前端架构的一部分,部署在网站的前端,当用户请求到达网站的数据中心时,最先访问到的就是反向代理服务器,这里缓存网站的静态资源,无需将请求继续转发给应用服务器就能返回给用户。
  • 本地缓存: 在应用服务器本地缓存着热点数据,应用程序可以在本机内存中直接访问数据,而无需访问数据库。
  • 分布式缓存: 大型网站的数据量非常庞大,即使只缓存一小部分,需要的内存空间也不是单机能承受的,所以除了本地缓存,还需要分布式缓存,将数据缓存在一个专门的分布式缓存集群中,应用程序通过网络通信访问缓存数据。

1.6 异步

在单一服务器内部可通过多线程共享内存队列的方式实现异步,处在业务操作前面的线程将输出写入到队列,后面的线程从队列中读取数据进行处理;在分布式系统中,多个服务器集群通过分布式消息队列实现异步,分布式消息队列可以看作内存队列的分布式部署。

1.7 冗余

要想保证在服务器宕机的情况下网站依然可以继续服务,不丢失数据,就需要一定程度的服务器冗余运行,数据冗余备份,这样当某台服务器宕机时,可以将其上的服务和数据访问转移到其他机器上。

1.8 自动化

1.9 安全

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

新浪微博的系统架构:

大型网站技术架构 读书笔记 (二) 大型网站架构模式相关推荐

  1. 读书笔记之 大型网站技术架构(核心原理与案例分析)

    前言 坚持看了十几天的书,终于完成了毕业后第一次静下心来,利用业务时间看书并做笔记的成就了.废话不多说,这回看的是一直很膜拜的李智慧大神写的大型网站技术架构-核心原理与案例分析. 简短的读后感 极其推 ...

  2. 深入分析Java Web技术内幕读书笔记(二)浅析DNS域名解析过程

    上一篇文章<浅析Web请求过程>讲述的是如何发起HTTP请求,对于请求发起过程中很重要的一个步骤--DNS解析过程的描述是一带而过,本篇文章将跟着DNS解析过程来分析域名是如何解析的. 一 ...

  3. [云数据中心] 《云数据中心网络架构与技术》读书笔记 第七章 构建多数据中心网络(1/3)

    7.1 多数据中心的业务诉求场景 7.1.1 多数据中心的业务场景分析 主流需求:虚拟化和资源池化,形成多活,可就近提供服务 1. 业务跨数据中心部署 2. 两地三中心 是指在同城双活的数据中心基础上 ...

  4. 《李元芳履职记》读书笔记二 IT技术管理的沟通与团队建设

    <李元芳履职记>读书笔记二 接一 https://blog.csdn.net/qq_45937199/article/details/103305223 IT技术人员从技术岗走向管理岗,所 ...

  5. 《Docker 技术入门与实践》-读书笔记二

    <Docker 技术入门与实践>-读书笔记一 <Docker 技术入门与实践>-读书笔记二 一.数据管理 用户在使用 Docker 的过程中,往往需要能查看容器内应用产生的数据 ...

  6. [云数据中心] 《云数据中心网络架构与技术》读书笔记 第八章 构建云数据中心端到端安全

    8.1 云数据中心面临的安全挑战 因为云化和SDN化的网络特点(网元出现的位置随意性更大,出现和消失的时间不定): 首先会导致安全业务开通周期长: 其次SDN的自动化能力是现在安全业务所不能达到的,很 ...

  7. 《How Tomcat Works》读书笔记(二)

    <How Tomcat Works>读书笔记(二) 这是<How Tomcat Works>第一二章的读书笔记.第一张主要写了一个静态资源处理的web服务器,第二章加了对ser ...

  8. 深入分析Java Web技术内幕读书笔记(一)浅析Web请求过程

    随着Web技术的快速发展,互联网的网络架构已经从传统的C/S架构转变为B/S架构,B/S架构相较于传统的C/S架构,有诸多优点,例如:提供了统一的操作方式,简化了用户的学习成本:便捷的开发方式大大提高 ...

  9. 3D游戏设计读书笔记二

    3D游戏设计读书笔记二 一.简答题 • 解释 游戏对象(GameObjects) 和 资源(Assets)的区别与联系.   GameObjects是一个具体的实例,Assets是包括诸多游戏素材的资 ...

  10. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二

    当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net  网友分享于:2013-08-23  浏览:9次 <> ...

最新文章

  1. andoridView修改
  2. Android之利用JSBridge库实现Html,JavaScript与Android的所有交互
  3. 三款ActiveX图表控件对比评测 TeeChart VS ProEssentials…
  4. 09.15,一维数组,冒泡排序
  5. Anaconda下安装OpenCV和Tensorflow(最简洁高效的方法)
  6. php javascript 不执行,javascript – 不工作php按钮来执行操作
  7. javaweb基础 - Servlet
  8. html 3d坐标,HTML3D
  9. opencv4.3.0+Visual Studio 2019环境配置
  10. 华为桌面云中怎么安装mysql8_安装MySQL8.0.18步骤以及可视化工具的连接问题。
  11. leapmotion手势交互引擎
  12. 人工智能白皮书(2022年) 附下载
  13. php动态万年历模块,php如何实现万年历的开发(每日一课真是非常有效率)
  14. Nakashima Propeller选择Voltaire加速船舶螺旋桨设计
  15. Verilog初学者小圣经
  16. 锐浪报表开发Web版
  17. 即时聊天通讯软件安卓+ios双端原生源码
  18. 国内的IT生意,敢问路在何方?
  19. PHP文件及运行(适合PHP初学者)
  20. pocketsphinx 模型库_pocketSphinx 嵌入式关键词唤醒

热门文章

  1. Cocos2dx技术(三)——cocos2dx基本概念(六)控件库
  2. 开场PPT动画怎么做炫酷
  3. Salesforce 知识点记录(JSZip在lighting中使用时遇到的坑)
  4. Python爬虫【urllib3模块】和【requests模块】
  5. 数据库课程设计大作业大盘点【建议在校生收藏】
  6. matlab画动图心,matlab动态心形图代码
  7. [安装 ADB 驱动]-手动安装 ADB 驱动得以进入 Android 手机系统
  8. JavaScript里的闭包(摘自JavaScript高级程序设计)
  9. DSP初识-20151111
  10. 【Unity3D入门教程】Unity3D播放音频和视频