招生电话图

分布式系统的优势和挑战

发布日间:2021-08-10   浏览次数:457

   当单体应用的性能不能满足日渐增长的业务需求的时候,就会出现分布式系统。好那接下来的时间里就让我带你们走进分布式系统的世界。

分布式系统的优势和挑战

   什么是分布式系统?


   到底什么才是分布式系统?看了很多文章,感觉很少有文章能把这个概念解释的既简单,又清楚的。结合这自己的理解,我对分布式系统的概念做了下面的总结。


   关于分布式系统的定义问题,我倾向从字面上来解释:分开部署的系统就可以称为分布式系统。比如,一个系统原本由前端页面、后台服务和后端数据库组成,将这些服务全都部署在一台机器上,这种应用叫单体应用。现在我们将数据库拿出来,单独部署到另外一台机器上,后端服务和数据库之间通过网络通信,这种部署方式就是一种最简单的分布式系统。


   再比如说,原本有一个后端服务,能支持500QPS的并发请求。现在业务量上升,需要能支持1000QPS的并发量。此时你有两个方案:


   第一种就是增加系统的硬件性能,进行垂直扩展,此时系统还是单体应用;第二种方案就是再部署另外一台机器,同样也支持500QPS,这样总体就能达到1000QPS的性能需求了。


   方案二的系统也是一种分布式系统,将本来可以部署一台机器的应用原样复制一份到另外的机器上再部署一份。方案二中,部署的多台应用被也被称为一个集群,可以说集群是分布式系统的一种。


   再比如说,原本有一个系统中包含订单服务、产品服务和支付等服务。现在随着业务的不断复杂化,将订单服务、产品服务和支付服务单独分拆出来形成订单系统、产品系统和支付系统,交由专人负责。这种系统将原本的单体应用分拆成多个系统部署到不同的机器上,也是分布式系统,而且我们平时开发中所指的分布式系统大多是指这种系统。其实稍微有点分布式系统知识的同学可以看出来,这种系统就是最简单的微服务系统。所以微服务也是分布式系统的一种。

分布式系统的优势和挑战

   分布式系统的优势


   单体应用的优势在于它的简单,但是其劣势也相当明显。一个就是容易出现单点故障,还有一个就是容易达到性能瓶颈。分布式系统很大程度上就是为了解决单体应用上面的问题而出现的。


   分布式系统将一些廉价的PC机通过网络连接起来,共同完成工作,并且在系统中提供冗余来解决高可用的问题。分布式系统通过廉价的PC机减轻了企业购买大型机的高昂费用,通过系统冗余又解决了HA的问题。


   虽然分布式系统通过多工作节点解决了单体应用面临的高成本和可用性问题,但是它引入了对分布式系统内部工作节点的协调问题。


   分布式系统的挑战


   分布式系统的核心就是解决一个问题:对分布式系统内部工作节点的协调问题。


   看似简单的问题会因网络丢包、节点宕机恢复等场景变得异常复杂。由此才衍生出很多概念、协议和理论。为探究共识问题最大能解决的程度,于是有了CAP边界理论;为在特定条件和范围内解决该问题,于是有一致性协议Paxos、Raft、Zab和ViewstampedReplication;为构建这些协议,于是有多数派、Leader选举、租约、逻辑时钟等概念和方法。

分布式系统的优势和挑战

   又因为分布式系统分开部署的特点,在具体实施开发过程中,我们又要解决:


   1、分布式事务问题;


   2、session共享问题;


   3、分布式锁问题;


   4、全局时钟问题;


   还有一些列其他问题。虽然分布式系统解决了单体系统的单点故障和性能瓶颈问题,但同时也带来了一系列“弊端”。但是技术就是这样,没有一个技术是完美的。我一直有个观点就是:假如在一个领域中出现了一个完美的解决方案,那么在这个领域,人就不再有价值。分布式系统的复杂性给我们带来了更多学习的空间,让善于学习的程序员有更多发挥自身价值的机会。

点击了解牛耳 TEL:400-0731-162
相关新闻
学术报道丨祝贺牛耳教育2015年IT知识技能大赛圆满结束!2017-04-22
学术报道丨在传统文化中感受大爱! ——牛耳教育学院举行健康知识讲座2017-04-22
名师风采丨学生眼里的大神级人物,牛耳的颜值担当——蒋学蹇老师2017-04-22
名师专访丨独具人格魅力的知心大姐姐——牛耳金牌班主任祖家晶老师2017-04-22
相关新闻
分布式系统的优势和挑战2021-08-10
牛耳教育与湖南外国语职业学院校企合作正式签约!2021-06-03
牛耳教育:职业技能培训招生简章2021-05-07
从SP就业助力计划看职业教育如何走出困境2021-04-15
牛耳教育

牛耳教育IT培训机构专注于Java培训,编程语言培训,Python人工智能培训,Web前端培训,软件测试培训,嵌入式培训等IT培训课程20余年。

400-0731-162

地址:长沙市五一广场牛耳教育站省电教中心三楼