单体架构与分布式系统区别对比
创始人
2024-05-30 17:06:18
0次

单体架构与分布式系统区别对比

一、单体架构

1.概念:

  • 整个系统的所有功能单元,整体部署到同一个进程(所有代码可以打包成1个或多个文件),我们可以称之为”单体架构”

单体式应用易于部署,只需要把打包应用拷贝到服务器端,通过在负载均衡器后端运行多个拷贝就可以轻松实现应用扩展。在早期这类应用运行的很好。

  • 单体架构,是指将开发好的项目打包成war包,然后发布到tomcat等容器中的应用

2.举例

  • 描述:用一个婚纱系统网站举例

    在这里插入图片描述

用户并发量有限制

  • ①并发:同一时间多个线程访问同一个资源(tomcat、mysql、数据);
  • ②一个tomcat通常能够承载200~300并发(取决于硬件及网络等外界条件)
  • ③一个mysql默认并发数100

优点

  • 易于开发: 当前开发工具和IDE的目标是支持单体应用程序的开发
  • 易于部署:只需在适当的运行时 部署WAR文件(或目录层次结构)
  • 易于扩展:可以通过在负载均衡器后面运行应用程序的多个副本来扩展应用程序

瓶颈问题

  • ①可靠性差:比如婚宴场地中出现内存溢出(OOM)BUG,会导致整个系统宕机,从而导致婚纱摄影也不可用。
  • ②维护成本高:比如对婚宴场地进行更新升级(停机更新),会导致婚纱摄影功能也不可用。
  • ③吞吐量小:一个tomcat同时能处理的请求是有上限的。当业务多了之后,系统访问速度变慢、或者请求超时。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UFz6QAGS-1678239298620)(https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/674/20220811162654.png)]

二、分布式架构

1.概念简介

  • 整个系统的功能分散到不同的进程,然后各个进程共同提供不同的业务能力,称为“分布式架构”

2.举例

  • 如上述系统网站

在这里插入图片描述

分布式架构的特点

  • 将一个系统的两个功能分别部署在两个tomcat节点上,共同协调完成任务,所有节点组成同一个系统。
  • 吞吐量大:婚宴场地的请求由左边tomcat负责处理和响应,婚纱摄影由右边tomcat进行处理和响应。
  • 可靠性强:如果婚宴场地出现OOM异常导致宕机,不会影响婚纱摄影功能的正常访问。
  • 单个服务维护成本低:比如婚宴场地停机更新,不会影响婚纱摄影。或者去掉婚宴场地功能模块。

分布式架构的缺点

  • 对技术要求高,人力成本比较大
  • 人员数量需求多,人力陈本大
  • 需要的服务器数量多,硬件资源成本大

分布式与集群的区别

  • 分布式是将不同的业务分散到不同的服务器上,集群是同一个业务由多台服务器一起完成
  • 分布式是软件层面,集群是硬件层面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJpRas1M-1678239298621)(https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/674/20220811163102.png)]

如上图婚纱摄影这个板块分布在不同的服务器上一起完成这就是集群

什么时候需要使用

  • 场景:一个饭店请一个厨师负责配菜和炒菜,一天最多只能炒300份菜。当饭店生意越来越火,一天超过300份菜,怎么办呢?
  • 应用:一个服务器也有请求上限,当一个服务器处理不过来的时候,就再加一个服务器分担工作任务。
  • 这就是分布式,也是需要分布式的原因。

三、架构的不同风格

任何一个体系(产业平台、商业模式等)如果象牙发展壮大,途径只有两个模式:

  • 1.容器模式从外部提供越来越多的资源和能力,注入到体系的内部,不断地从内向外扩展自己。单体架构的系统类似这种模式
  • 2.生态模式:以自己的核心能力为内核,持续地在外部吸引合作者,形成一个可以不断成长的生态体系。分布式架构越来越像这种模式

1.单体架构细分

  • 对于单体架构,根据设计期和开发实现期的不同模式和划分结构,可以分为以下几种模式

在这里插入图片描述

2.分布式架构细分

  • 对于分布式架构,根据设计期的架构思想和运行期的不同结构,可以分为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BIDro0C7-1678239298621)(https://xingqiu-tuchuang-1256524210.cos.ap-shanghai.myqcloud.com/674/20220811163719.png)]

  • 也可以把如上的各个架构风格总结为4个大的架构发展阶段

在这里插入图片描述

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...