单体架构系统与分布式系统区别对比
【摘要】
你好我是辰兮,很高兴你能来阅读,本篇为你介绍单体架构和分布式系统的区别,后续会整理分布式微服务相关的知识点,分享获取新知,大家一起进步!
文章目录
一.单体架构二.分布式架构三.架...
你好我是辰兮,很高兴你能来阅读,本篇为你介绍单体架构和分布式系统的区别,后续会整理分布式微服务相关的知识点,分享获取新知,大家一起进步!
一.单体架构
(1)概念简介
- 整个系统的所有功能单元,整体部署到同一个进程(所有代码可以打包成1个或多个文件),我们可以称之为”单体架构”(Monolithic Architecture) ;
单体式应用易于部署,只需要把打包应用拷贝到服务器端,通过在负载均衡器后端运行多个拷贝就可以轻松实现应用扩展。在早期这类应用运行的很好。
- 单体架构,是指将开发好的项目打成war包,然后发布到tomcat等容器中的应用。
(2)举例
- 描述:用一个婚纱系统网站举例(如图为两个功能)
用户并发量有限制
- ①并发:同一时间多个线程访问同一个资源(tomcat、mysql、数据);
- ②一个tomcat通常能够承载200~300并发(取决于硬件及网络等外界条件)
- ③一个mysql默认并发数100
优点:
易于开发
: 当前开发工具和IDE的目标是支持单体应用程序的开发易于部署
: 只需在适当的运行时上部署WAR文件(或目录层次结构)易于扩展
: 可以通过在负载均衡器后面运行应用程序的多个副本来扩展应用程序
瓶颈问题:
- ①
可靠性差
:比如婚宴场地中出现内存溢出(OOM)BUG,会导致整个系统宕机,从而导致婚纱摄影也不可用。 - ②
维护成本高
:比如对婚宴场地进行更新升级(停机更新),会导致婚纱摄影功能也不可用。 - ③
吞吐量小
:一个tomcat同时能处理的请求是有上限的。当业务多了之后,系统访问速度变慢、或者请求超时。
question:当系统的并发增加时,如何优化?
二.分布式架构
(1)概念简介
- 整个系统的功能单份散到不同的进程,然后够个进程共同提供不同的业务能力,我们称之为”分布式架构”(Distributed Architecture)
(2)举例
- 描述:如上婚纱系统网站举例(如图为两个功能)
分布式架构的特点:
- 将一个系统的两个功能分别部署在两个tomcat节点上,共同协调完成任务,所有节点组成同一个系统。
吞吐量大
:婚宴场地的请求由左边tomcat负责处理和响应,婚纱摄影由右边tomcat进行处理和响应。可靠性强
:如果婚宴场地出现OOM异常导致宕机,不会影响婚纱摄影功能的正常访问。单个服务维护成本低
:比如婚宴场地停机更新,不会影响婚纱摄影。或者去掉婚宴场地功能模块。
分布式架构的缺点:
- 对技术要求高,人力成本比较大
- 人员数量需求多,人力陈本大
- 需要的服务器数量多,硬件资源成本大
(3)拓展问题
①分布式与集群的区别?
- 分布式是将不同的业务分散到不同的服务器上,集群是同一个业务由多台服务器一起完成
- 分布式是软件层面,集群是硬件层面
如图婚纱摄影这个版块分布在不同的服务器上一起完成这就是集群
②何时需要使用分布式?
- 场景:一个饭店请一个厨师负责配菜和炒菜,一天最多只能炒300份菜。当饭店生意越来越火,一天超过300份菜,怎么办呢?
- 应用:
一个服务器也有请求上限,当一个服务器处理不过来的时候,就再加一个服务器分担工作任务
。 - 这就是分布式,也是需要分布式的原因。
三.架构的不同风格
任何一个体系(产品平台、商业模式等)如果想要发展壮大,途径只有两个模式:
- ①容器模式:从外部提供越来越多的资源和能力,注入到体系的内部,不断的从内扩自己。单体架构的系统类似这种模式。
- ② 生态模式:以自己的核心能力为内核,持续的在外部吸引合作者,形成一个可以不断成长的生态体系。分布式架构越来越像这种模式。
(1)单体架构细分
再结合软件系统在整个生命周期的特点,我们可以进一步区分不同的架构风格。
- 对于单体架构,我们根据设计期和开发实现期的不同模式和划分结构,可以分为以下几个模式
(2)分布式架构细分
- 对于分布式架构,我们根据设计期的架构思想和运行期的不同结构,可以分为:
- 也有人把如上的各个架构风格总结为4个大的架构发展阶段
Victory won’t come to me unless I go to it.
2020.03.03
文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。
原文链接:blessing.blog.csdn.net/article/details/104632343
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)