教你简单理解分布式与传统单体架构的区别
分布式是一种系统架构方式,而在分布式系统中一般基于中间件进行开发,消息中间件是分布式系统中比较核心的中间件之一。这三样东西随便拿出一个来都可能要说上半天,而且个人水平有限,所以这里我也只能按照个人的理解简单说一下。
分布式是区别于传统的传统的单体架构而言的。
下面以小作坊和大工厂为例简单说一下。
小作坊就相当于是传统的单体架构
一般来说,小作坊人手比较少,甚至只有一个人,那么其中所有的工作都要由他一个人负责,从接收订单,到采购原料,再到生产,还有财务都需要他一个人来做,但毕竟每个人的精力有限,一个人的小作坊能够承接的业务量也就很有限。如果这个人生病了,那整个作坊就无法运转,无法提供任何服务。另一方面,随着新东西的出现,总需要扩增一些新的产品线,那小作坊的负责人就必须自己去学习,而且能够学到的东西也有限,无法扩展太多的产品线。单体架构与小作坊的生产模式类似,存在的缺陷也类似,单体架构的系统吞吐量差,故障影响范围大,扩展性差,开发成本高,不适用于现在大多数的互联网系统。
随着业务的增长,小作坊已经处理不了大量的订单,为了能够继续发展,只能改变工作模式,开始招兵买马。
其中每个人都有自己的职责,有负责接收订单的,有采销,有技术工人,有财务,而且每个岗位都由一个多人小组来负责,这样即使小组中有人离职或者生病请假,都不会对整个业务造成任何影响,仍然可以正常运转。当订单量增加,现有人手处理不过来的时候,只需要再招一些人就可以了。
如果需要开辟新的产品线和开展新业务,那么只需要再培训或者招聘一批专业的技术人员即可。
分布式系统的架构就与大工厂类似
分布式系统吞吐量大大提升,同时具有故障影响范围小,易于扩展,开发成本低等诸多优点。但这也并不意味着分布式架构就很完美,与小作坊相比,大工厂员工很多,因此就带来了很高的管理成本,以及沟通成本,如何维持员工之间的信息对等以及如何保证商业机密不泄露等都是比较大的问题。同样,分布式系统对于系统运维,服务治理与调度,数据同步以及系统的安全性有很高的要求。
总的来说,两种架构各有各的优点,不能简单的说好与不好,只有合适不合适,下面的表格中简单列举了两种架构之间的差别。像个人博客,这种访问量比较小,功能比较单一的使用单体架构就足够,而电商和金融这种访问量高,比较复杂的系统更适合用分布式系统架构。
转载于:https://www.cnblogs.com/lonelyxmas/p/10646374.html
教你简单理解分布式与传统单体架构的区别相关推荐
- 微服务架构与单体架构的区别
一.单体架构和微服务架构 1.什么是单体架构 一个归档包(如war包)包含了应用所有功能的应用程序.常言道:一个war包打天下. 2.单体架构的优缺点: 优点:简单,没有什么花哨的问题需要解决,部署非 ...
- 简单理解sticky定位与fixed定位的区别
fixed:固定定位,相对于可视窗口定位,一但使用top,left绑定后,无论怎么滚动可视窗口区域(也就是滑动滚动条),它的位置都不会发生变化 sticky:粘性定位,相当于是相对定位和固定定位的结合 ...
- 简单理解 word-wrap、word-break 和 white-space 的区别
不设置word-warp和word-break的时候,一行单词,超过了容器的宽度是,会将最后一个单词下移一行进行显示,如果下移的那个单词长度还是超过了容器宽度,则会溢出 word-wrap 设置wor ...
- 一文了解四种软件架构:Serverless架构、微服务架构、分布式架构、单体架构
如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存.晋升空间.这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面. 一.单体架构 单体架构 ...
- 想从单体架构演进到分布式架构,SBA 会是一个不错的选择
本文分享自华为云社区<从分层架构到微服务架构(五)之服务化架构>,作者:元闰子. 前言 从本文开始,我们进入了<从分层架构到微服务架构>系列中分布式架构的介绍,本文要介绍的是服 ...
- 项目架构相关知识的个人简单理解(水平有限,勿喷)
(一)传统架构 一台Web应用服务器Tomcat并发量为400,如果当并发量为40000时,理论上需要100台: 同一个工程部署到多台服务器上就会存在两个问题: 问题1: 在Tomcat集群中节点数量 ...
- 矩阵与行列式的区别 行列式简单理解(二三阶)
目录 矩阵与行列式的区别 行列式简单理解(二三阶) 矩阵与行列式的区别 如下: 1. 矩阵是一个表格,行数和列数可以不一样:而行列式是一个数,且行数必须等于列数.只有方阵才可以定义它的行列式,而对于长 ...
- 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路
本次分享的技术大纲如下: 传统应用开发面临的挑战 服务化实践 服务化不是银弹 服务化架构的演进方向 一 .传统应用开发面临的挑战 挑战1-- 研发成本高 主要体现在如下几个方面: 代码重复率高 在实际 ...
- 常见的服务器架构入门:从单体架构、EAI 到 SOA 再到微服务和 ServiceMesh
前言:架构的演变流程 单体架构 ==> 垂直架构 ==> 前后端分离 ==> EAI架构 ==> SOA架构 ==> 微服务 ==> 微服务2.0 1.单体架构: ...
最新文章
- matlab 通过矩阵变换使图像旋转平移_图像的几何变换
- CSS3来绘制一个3维立体游泳圈_立体墙绘画绘制技巧来了,襄阳墙体彩绘公司介绍...
- 简易无线电能接收方法
- 智能指针shared_ptr的用法
- CakePHP 2.x CookBook 中文版 第二章 安装
- Spring Boot开启的2种方式
- Bjarne Stroustrup语录[C++经验]
- mysql重新安装后之前表_关于重装mysql数据库之后.新的数据库引入旧数据的表结构和数据问题...
- 2018-6-19bash编程之循环
- 我们常常怕打扰别人,而忽略要打个电话问候对方,
- oracle编码储存过程,oracle存储过程代码实例一
- 如何在C语言中巧用正则表达式
- vm虚拟机搭建click house(单机)
- 打造一款可靠的WAF(Web应用防火墙)
- Python名片管理系统
- matlab怎么求周期积分,Matlab中怎么求解积分
- 手机坏了微信聊天记录怎么恢复?不用怕,用这招
- Elasticsearch学习之Elasticsearch的介绍和基本使用
- 营造平安 信息化使公交事业更加人性化
- Flask实战开发在线问答系统
热门文章
- 蓝桥杯省内模拟赛解题过程
- codeforces(牛客网dp专题,排序)
- 为什么不建议学python贴吧_为什么那么多自学Python的后来都放弃了,总结下来就这些原因...
- PAT_B_1060_Java(25分)
- Codeforces Round #530 (Div. 1) 1098A Sum in the tree
- [深度学习] Normalization 模型
- 这一两天要做的事--关于Altera FPGA首先要搞清楚的几个问题 以及解答
- MySQL 中 AUTO_INCREMENT 的“坑”--id不连续
- SQL:find duplicate rows -- using group or having
- 朴素贝叶斯 半朴素贝叶斯_使用朴素贝叶斯和N-Gram的Twitter情绪分析