参考自《大型网站技术架构》第1~3章

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

(1)初始阶段的网站架构:一台服务器分别作为应用、数据、文件服务器

(2)应用服务和数据服务分离:三台服务器分别承担上述三项工作,其中应用服务器要求CPU强大、数据库服务器需求更快的硬盘和内存,文件服务器需要较大的硬盘。

(3)使用缓存改善网站性能:分为本地缓存以及缓存在专门的分布式服务器上的远程缓存。

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

(5)数据库读写分离。

(6)使用反向代理和CDN加速网站响应。二者的基本原理都是缓存,区别在于CDN部署运营商的机房,而反向代理则部署在网站的中心机房,作为服务器群的最前端。

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

(8)使用NoSQL和搜索引擎。二者对可伸缩的分布式特性具有更好的支持。

(9)业务拆分:将不同的业务拆分为不同的产品线,分归不同的业务团队负责。

(10)分布式服务。

2、大型网站的架构模式

(1)分层

(2)分割

(3)分布式

(4)集群

(5)缓存

(6)异步

(7)冗余

(8)自动化

(9)安全

3、大型网站核心架构要素

(1)性能

(2)可用性

(3)伸缩性

(4)扩展性

(5)安全性

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. php 数据库备份、还原
  2. struts2 radio标签 单选按钮
  3. append appendChild appendTo区别
  4. ThinkPHP 单字母函数整理
  5. HIV T2
  6. DATE,DATETIME,DATETIME2等日期时间数据类型
  7. httpclient发送request请求时设置header和timeout
  8. 察看so文件的依赖关系
  9. 配置中的address不能重复
  10. php的数组与字符串的转换函数整理
  11. 《InsideUE4》UObject(四)类型系统代码生成
  12. Spark 2.2.0 文档中文版 Quick Start
  13. ArcMap修改粘滞移动容差防止要素在选择时无意拖动移动
  14. cocos2dx 3.3 笔记
  15. MySQL八、备份和还原
  16. maven-assembly-plugin的使用
  17. V4L2文档翻译(一)【转】
  18. SpringBoot学习之自动装配
  19. CameraManager与CameraDevice与ICameraService的相应关系
  20. OATable中column栏位数据居中的实现方法及代码

热门文章

  1. 聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁
  2. LeetCode 136 Single Number(仅仅出现一次的数字)
  3. ::的类名前有个 & ,什么意思?
  4. TrueSec引导的Linux系统和安全检测工具预览
  5. pycharm 配置autopep8(亲测可行)
  6. JS/CSS 响应式样式实例
  7. Photon + Unity3D 线上游戏开发 学习笔记(三)
  8. sql sever 跨库查询
  9. StackExchange.Redis 官方文档
  10. 短网址ShortUrl的算法