当前位置: 首页 > news >正文

大型网站系统架构演化

大型网站质量属性优先级:高性能 高可用 可维护 应变 安全

一、单体架构

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

二、垂直架构

        应用和数据分离,使用三台服务器:应用服务器、文件服务器、数据服务器

        应用服务器:处理大量的业务逻辑,需要更快更强大的处理器

        数据服务器:需要快速磁盘检索和数据缓存,需要更快的磁盘和更大的内存

        文件服务器:存储用户上传的文件,需要更大容量的硬盘

三、使用缓存改善网站性能

        80%的业务访问集中在20%的数据上。将常用的数据进行缓存,可以减少数据库的访问压力,提高整个网站的数据访问速度,改善数据库的写入性能。

         缓存分为:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存。

        本地缓存访问速度快,但受应用服务器内存限制可以缓存的数据量有限,且存在和应用程序争内存的情况。

        远程缓存:可以使用集群,缓存的数据量不受限制

四、使用服务集群改善网站并发处理能力

        增加应用服务器的数量,分担访问和存储的压力,解决高并发和海量数据访问问题。通过负载均衡服务器,将用户请求分发到对应的应用服务器上。这种架构下, 负载均衡服务器的性能可能会称为系统性能的瓶颈。

 

五、数据库读写分离

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

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

八、使用NoSQL和搜索引擎

九、业务拆分

十、分布式服务

http://www.lryc.cn/news/337302.html

相关文章:

  • 探索Java中的栈:Stack与Deque(ArrayDeque和LinkedList)
  • 实践笔记-03 docker buildx 使用
  • 【数据结构与算法】之8道顺序表与链表典型编程题心决!
  • Go 源码之旅-开篇
  • spring的事件推送
  • 计算机网络—HTTPS协议详解:工作原理、安全性及应用实践
  • 卫星遥感影像在农业方面的应用及评价
  • docker pull镜像的时候指定arm平台
  • 如何通过OceanBase V4.2 动态采样优化查询性能
  • Vue3---基础1(认识,创建)
  • JAVA集合ArrayList
  • Bitmap OOM
  • 基于深度学习的人脸表情识别系统(PyQT+代码+训练数据集)
  • Qt 中的项目文件解析和命名规范
  • 【chatGPT】我:在Cadence Genus软件中,出现如下问题:......【4】
  • 单例模式(Singleton Pattern)在JAVA中的应用
  • 手把手教你创建新的OpenHarmony 三方库
  • 从零开始,如何成功进入IT行业?
  • 【数组】5螺旋矩阵
  • Sora视频生成模型:开启视频创作新纪元
  • OpenAI现已普遍提供带有视觉应用程序接口的GPT-4 Turbo
  • Swift中的元组属性
  • 【go从入门到精通】作用域,包详解
  • 利用SARscape对日本填海造陆和天然气开采进行地表形变监测
  • “Python爬虫实战:高效获取网上公开美图“
  • C++设计模式:享元模式(十一)
  • 【三十六】【算法分析与设计】综合练习(3),39. 组合总和,784. 字母大小写全排列,526. 优美的排列
  • ARM Cordio WSF(一)——架构简介
  • 设计模式总结-装饰者模式
  • Stunnel网络加密服务