文档章节

教你简单理解分布式与传统单体架构的区别

o
 osc_w9s1w4o0
发布于 2019/04/01 15:50
字数 904
阅读 5
收藏 0

分布式是一种系统架构方式,而在分布式系统中一般基于中间件进行开发,消息中间件是分布式系统中比较核心的中间件之一。这三样东西随便拿出一个来都可能要说上半天,而且个人水平有限,所以这里我也只能按照个人的理解简单说一下。

分布式是区别于传统的传统的单体架构而言的。

下面以小作坊和大工厂为例简单说一下。

小作坊就相当于是传统的单体架构

一般来说,小作坊人手比较少,甚至只有一个人,那么其中所有的工作都要由他一个人负责,从接收订单,到采购原料,再到生产,还有财务都需要他一个人来做,但毕竟每个人的精力有限,一个人的小作坊能够承接的业务量也就很有限。如果这个人生病了,那整个作坊就无法运转,无法提供任何服务。另一方面,随着新东西的出现,总需要扩增一些新的产品线,那小作坊的负责人就必须自己去学习,而且能够学到的东西也有限,无法扩展太多的产品线。单体架构与小作坊的生产模式类似,存在的缺陷也类似,单体架构的系统吞吐量差,故障影响范围大,扩展性差,开发成本高,不适用于现在大多数的互联网系统。

随着业务的增长,小作坊已经处理不了大量的订单,为了能够继续发展,只能改变工作模式,开始招兵买马。

其中每个人都有自己的职责,有负责接收订单的,有采销,有技术工人,有财务,而且每个岗位都由一个多人小组来负责,这样即使小组中有人离职或者生病请假,都不会对整个业务造成任何影响,仍然可以正常运转。当订单量增加,现有人手处理不过来的时候,只需要再招一些人就可以了。

如果需要开辟新的产品线和开展新业务,那么只需要再培训或者招聘一批专业的技术人员即可。

分布式系统的架构就与大工厂类似

分布式系统吞吐量大大提升,同时具有故障影响范围小,易于扩展,开发成本低等诸多优点。但这也并不意味着分布式架构就很完美,与小作坊相比,大工厂员工很多,因此就带来了很高的管理成本,以及沟通成本,如何维持员工之间的信息对等以及如何保证商业机密不泄露等都是比较大的问题。同样,分布式系统对于系统运维,服务治理与调度,数据同步以及系统的安全性有很高的要求。

总的来说,两种架构各有各的优点,不能简单的说好与不好,只有合适不合适,下面的表格中简单列举了两种架构之间的差别。像个人博客,这种访问量比较小,功能比较单一的使用单体架构就足够,而电商和金融这种访问量高,比较复杂的系统更适合用分布式系统架构。

 

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

git 为项目设置用户名/邮箱/密码

1.找到项目所在目录下的 .git,进入.git文件夹,然后执行如下命令分别设置用户名和邮箱 git config user.name "Affandi" git config user.email "123333333@qq.com" 然后执行命令查看con......

有时很滑稽
47分钟前
0
0
如何从int转换为String? - How do I convert from int to String?

问题: I'm working on a project where all conversions from int to String are done like this: 我正在一个项目中,所有从int到String转换都是这样完成的: int i = 5;String strI = "" ......

javail
58分钟前
10
0
Vue+Spring Data JPA+MySQL 增查改删

视频讲解: https://www.bilibili.com/video/BV16i4y1G7i2/ 工程概述: 前后端分离,进行简单增查改删(CRUD) 前端使用VUE 后端使用Spring Data JPA 数据库使用MySQL #EmployeeController.jav...

潘文海
今天
13
0
我花了一个星期,做出了公司的管理系统,只需几个步骤!

我是企业的管理人员,公司发展到现阶段,感觉进入到了瓶颈期,每个员工的工作都已经饱和,很难再挤出时间做其它的事情,需要一款合适的管理软件来协作我们的工作。本来打算买一套管理软件就行...

科技那些事儿
今天
19
0
如何从Android应用程序获取崩溃数据? - How do I obtain crash-data from my Android application?

问题: How can I get crash data (stack traces at least) from my Android application? 如何从我的Android应用程序获取崩溃数据(至少是堆栈跟踪)? At least when working on my own de......

技术盛宴
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部