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

(一)单机架构、应用数据分离架构、应用服务集群架构

文章目录

  • 明确为什么要学习架构的演进
  • 单机架构
    • 什么是单机架构
    • 单机架构的模型
    • 单机架构的优缺点
      • 优点
      • 缺点
    • 单机架构的技术案例
  • 应用数据分离架构
    • 什么是应用数据分离架构
    • 架构模型
    • 应用数据分离架构的优缺点
      • 优点
      • 缺点
    • 技术案例
  • 应用服务集群架构
    • 什么是应用服务集群架构
    • 架构模型
    • 应用服务集群架构优缺点
      • 优点
      • 缺点
    • 技术案例

明确为什么要学习架构的演进

  • 了解技术处于什么位置
  • 对分布式系统有一个大概的了解

架构的演进流程: 单机架构、应用数据分离架构、应用集群架构、主从分离架构、冷热分离架构(redis)、垂直拆分架构(更进一步的分布式数据库)、微服务架构、容器编排架构(docker);

单机架构

什么是单机架构

单机架构就是一个服务器内部同时运行应用服务和数据库服务。 主要出现在计算机早期的系统设计。

单机架构的模型

在这里插入图片描述

单机架构的优缺点

优点

  • 单机架构的优点是部署简单、成本低。
  • 没有网络延迟, 处理少量请求效率高。

缺点

  • 并发量增大, 资源竞争容易导致性能瓶颈
  • 系统的扩展性比较差。
  • 系统解耦性高, 发生故障会产生连锁反应

单机架构的技术案例

java中的tomcat, 就可以看作一个应用服务的软件; MySQL就可以看错数据库服务的软件。 然后这两个服务在同一个服务器中对外提供服务, 就叫做单机架构。

  • 用户向浏览器/APP发起一个请求。
  • 浏览器请求中的域名去dns进行域名解析, 得到目标服务器的目的IP。
  • 浏览器根据IP找到目标服务器。 找到提供服务的应用。
  • 应用根据请求中的要求直接从MySQL中insert数据或者check数据, 无需网络传输。
  • 完成服务进行返回。用户得到反馈。

在这里插入图片描述

应用数据分离架构

什么是应用数据分离架构

应用数据分离架构是将应用服务和数据库分离开来, 两个服务分别部署于不同的服务器。 两种服务专注于自己的服务。

架构模型

在这里插入图片描述

应用数据分离架构的优缺点

优点

  • 应用服务与存储服务进行分离,让两者可以独立设计。
  • 提高了系统的扩展性, 使应用服务和数据库都可以进行横向扩展。
  • 应用与存储独立使用自己的cpu资源, 避免了两种服务之间的资源竞争。

缺点

  • 提高了系统的成本, 提高运维成本。

  • 应用服务与数据库服务之间数据的传输效率变为网络传输, 延迟增加。

  • 当并发量和数据量进一步提升, 应用服务器可能存在瓶颈。

技术案例

原本的单机架构应用程序直接从数据库中读取数据, 是在一台服务器中读取, 也就是在内存中的读取。 应用数据分离架构变成了应用服务和数据库服务通过网络进行通信。

在这里插入图片描述

应用服务集群架构

什么是应用服务集群架构

将应用服务横向扩展——添加多台应用服务器分担并发请求。通过一台负载均衡器接收所有并发请求, 然后通过算法将请求分发给多台服务器。

  • 当请求的并发量提升, 提升到一台应用服务器已经承受不住了, 那么可以添加多台应用服务器分担这些并发请求。
  • 但是只添加应用服务器如何分配这些并发请求就成了问题, 所以需要在上层布置一台负载均衡服务器接收所有的并发请求, 然后比较均匀的分发给下层的应用服务器。——这个负载均衡服务器要能承受所有的并发请求。
  • 这么做后, 理论上, 应用服务器不够用, 添加应用服务器。 负载均衡服务器不够用, 再在负载均衡器上面布置处理并发能力更强的负载均衡服务器, 那么应用服务器就不会再称为瓶颈。

架构模型

在这里插入图片描述

应用服务集群架构优缺点

优点

  • 应用服务器不再成为瓶颈。
  • 应用服务器部署更加灵活,可以根据阶段用户请求的并发量部署应用服务器。
  • 多冗余, 系统可用性增强, 单个应用服务器崩溃,不影响其他节点的使用, 少影响整个业务的运行。

缺点

  • 硬件成本增加, 系统的复杂度提升, 运维的成本增加
  • 需要增加服务器之间数据同步机制。
  • 当并发请求很多, 数据库服务器可能称为瓶颈。

技术案例

当一台应用服务器不够用, 添加多台服务器, 并使用Nginx来作为负载均衡器。但是负载均衡器也有并发上限:

  • Nginx的并发量为50000左右, 如果超过了, 就只能多家几台Nginx, 并且再上加一层负载均衡器, 可以用LVS。
  • LVS的并发量百万级别, 如果超过了, 只能多增加几台LVS, 并且再往上加一层负载均衡器, 可以使用F5.
  • F5是硬件设备, 价格高, 并发量是千万级别, 如果超过了, 就要使用dns了, dns不仅仅是域名转换服务, 也可以作为全局的负载均衡器。

在这里插入图片描述

相关文章:

  • JavaScript学习教程,从入门到精通,Ajax与Node.js Web服务器开发全面指南(24)
  • 基于javaweb的SpringBoot扶农助农平台管理系统设计与实现(源码+文档+部署讲解)
  • 前端面试场景题
  • JVM学习笔记
  • MCP 协议:AI 时代的 “USB-C” 革命——从接口统一到生态重构的技术哲学
  • URP-UGUI交互功能实现
  • Git 远程操作全攻略:从基础到实战
  • SOA(半导体光放大器)在BOTDR(布里渊光时域反射计)系统中的应用
  • [计算机科学#1]:计算机的前世今生,从算盘到IBM的演变之路
  • 「ES数据迁移可视化工具(Python实现)」支持7.x索引数据互传
  • 在 UniApp 中获取当前页面地址
  • 敏捷开发中的AI测试:未来的趋势与挑战
  • XCZU19EG-2FFVC1760I Xilinx赛灵思FPGA Zynq UltraScale+MPSoC
  • QT多元素控件及其属性
  • HTTP代理基础:网络新手的入门指南
  • 【HFP】蓝牙HFP协议来电处理机制解析
  • vue实现静默打印pdf
  • 利用HandlerMethodArgumentResolver和注解解析封装用户信息和Http参数
  • 【k8s】Taint污点)、Toleration(容忍)
  • 事关数据安全,ARM被爆不可修复漏洞
  • 国家发改委:将开展市场准入壁垒清理整治行动
  • 人民日报:外卖平台应保障好骑手就业权益,消除后顾之忧
  • 京东美团商战,能惠及骑手吗?
  • “动漫短剧”值不值得做?
  • 谁为金子疯狂:有人贷款十万博两千,有人不敢再贸然囤货
  • 收缩非洲业务专注挖矿,裁减大批外交官,“美国务院改革草案”引争议