初始阶段的网站架构

应用程序、数据库、文件等所有等资源都在一台服务器上。

应用服务和数据服务分离

三台服务器:应用服务器、文件服务器和数据库服务器。
三台服务器对硬件资源对要求各不相同:

  • 应用服务器需要处理大量的业务逻辑,因此需要更快更强大的CPU
  • 文件服务器需要存储大量用户上传的文件,因此需要更大的硬盘
  • 数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的磁盘和更大的内存

使用缓存改善网站性能

80%的业务访问集中在20%的数据上。
本地缓存和分布式服务器上的远程缓存

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

通过负责均衡调度服务器,将请求分发到应用服务器集群中的任一服务器上。

数据库读写分离

主从复制

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

基本原理都是缓存
目的都是尽早返回数据给用户,一方面加快用户访问速度,另一方面减轻后端服务器的负载压力
CDN部署在网络提供商的机房
反向代理部署在网站的中心机房

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

使用NoSQL和搜索引擎

业务拆分

分布式服务

将共用的业务提取出来,独立部署。
事物发展到一定阶段,就会拥有自身的发展冲动,摆脱其初衷,向着使自己更强大的方向发展。
网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候就去追求网站的架构是舍本逐末,得不偿失的。小型网站最需要做的就是为用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长。
驱动大型网站技术发展的主要力量是网站的业务发展。
是业务成就了技术,是事业成就了人,而不是相反。
网站架构设计误区:

  • 一味追随大公司的解决方案。
  • 为了技术而技术。
  • 企图用技术解决所有问题。

《大型网站技术架构》——第一章 大型网站架构演化相关推荐

  1. 《程序设计技术》第一章例程

    <程序设计技术>例程 <程序设计技术>第一章 C语言与程序设计(例程) <程序设计技术>第二章 C语言基础知识(例程) <程序设计技术>第三章 程序控制 ...

  2. 《计算机网络技术》第一章课后习题答案(全)

    <计算机网络技术>第一章课后习题答案(全) 1.请从资源共享的角度给出计算机网络的定义. 答:计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在 ...

  3. 《计算机网络技术》第一章测试(题目及答案)

    <计算机网络技术>第一章测试 一.选择题(共6题)  1.计算机网络中可以共享的资源包括() A.硬件.软件.数据          B.主机.外设.软件  C.硬件.程序.数据      ...

  4. 《网络安全工程师笔记》 第一章:虚拟化架构与系统部署

    注:本笔记来自温晓飞老师的网络安全课程 第一章:虚拟化架构与系统部署 第一章:虚拟化架构与系统部署 第二章:IP地址详解 第三章:进制转换 第四章:DOS基本命令与批处理 第五章:用户与组管理 第六章 ...

  5. 计算机网络技术大专教案,计算机网络技术教案第一章.ppt

    <计算机网络技术教案第一章.ppt>由会员分享,可在线阅读,更多相关<计算机网络技术教案第一章.ppt(35页珍藏版)>请在装配图网上搜索. 1.计算机网络技术 计算机网络基本 ...

  6. 【技术系列】浅谈GPU虚拟化技术(第一章)

    摘要: GPU深度好文系列,阿里云技术专家分享 第一章 GPU虚拟化发展史 GPU的虚拟化发展历程事实上与公有云市场和云计算应用场景的普及息息相关.如果在10年前谈起云计算,大部分人的反应是" ...

  7. 模拟电子技术基础 第一章 绪论

    第一章 绪论 1.1电子器件与电子电路发展史概要 1.1.1电子管的发明 1904年,电子管又名真空管,其工作原理是在抽成真空的玻璃管内放置一个灯丝和若干个金属电极,当灯丝通电加热后,是金属内电子获得 ...

  8. 技术变现第一步:网站快速接入国际支付 Stripe

    我坚信,机会永远属于有准备的人,我们与其羡慕他人的成功,不如从此刻起,积累足够多的知识和经验,为将来实现财务自由做好充分的准备! 如果你有技术,稍加运营,就可以一个人打造出一台日入 100+美元的赚钱 ...

  9. 云计算与大数据技术应用 第一章

    云计算概述 什么是云计算 云计算的定义 云计算的特点 经典的云计算基础架构 云计算主要服务模式 云计算主要部署模式 经典的云计算产品 云计算技术的新发展 我国的云计算产业现状 云计算前景 云计算的概念 ...

最新文章

  1. C# 视频多人脸识别的实现过程
  2. java设计模式之装饰器模式
  3. 06. 为知笔记 -- 我的修改
  4. RuntimeError: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and
  5. Java -- XStreamAlias 处理节点中的属性和值
  6. 揭开HTTPS的神秘面纱
  7. 7-63 情人节 (15 分)(c++stl)
  8. 水晶报表横向打印BUG处理
  9. Vivado安装教程详细版
  10. 钳位型过压保护器件压敏电阻MOV的生产工艺你知道吗?
  11. VUE 组件 有数据不渲染 v-for
  12. freeswitch 解决方案之视频会议
  13. 微信小程序的后台在哪里云开发控制台操作方法
  14. nginx用法总结【1】
  15. “放心消费”宣言传递正品心智,网易考拉8.16大促首日获用户好评
  16. http常用请求头与响应头字段详解
  17. 神经网络算法是什么意思,神经网络属于算法吗
  18. Sampler 在数据下沉模式超时; 不同Sampler策略,在非数据下沉模式下,模型训练失败 报错Segmentation fault(core dumped)
  19. Protobuf3 google protobuf
  20. 【4745】Two Rabbits

热门文章

  1. python:tkinter —— Tcl/Tk 的 Python 接口
  2. CMake问题:The CXX compiler identification is unknown
  3. VsCode中运行HTML页面时出现乱码
  4. 打印快递单不显示收货人省市区,提供两种解决方案
  5. 2021年软件测试工具总结——模糊测试工具
  6. 让NodeJS出错退出之后自动重启的办法
  7. J2ME 粒子系统实现(转)
  8. 可数集合与不可数集合
  9. 字节面试官必问的Mysql锁机制
  10. vim复制、粘贴以及配置总结