新疆都市报 > 科技 > 智能 >

学习笔记:大型分布式系统现场,阿里大牛带你

发布时间:2019-07-24 11:39来源: 未知

分布式系统

分布式系统从当初的CORBA 到EJB,Web和SOA,从集群到现在的NoSQL 云计算和大数据Hadoop等分布式系统,横向水平扩展Scala out/in是分布式系统设计的一个特点,可靠性 容错性是两个质量指标。

什么是分布式系统?

一大批服务器组成一个集合,对于用户来说仍然是一个整体连贯系统。

A. Tanenbaum定义:分布式网络的计算机中的组件之间协调动作是通过消息进行通讯。

G. Coulouris定义:当你知道有一台电脑崩溃,但是你的软件运行从来不会停止。

Leslie Lamport定义:分布式系统是这样系统:旨在支持应用程序和服务的开发,可以利用物理架构 由多个自治的处理元素,不共享主内存,但通过网络发送异步消息合作。

与分层应用区别:分层的应用程序(例如,3层)是 划分应用程序逻辑,是一种逻辑分层,而不是物理,而分布式系统DS是物理分层,和实际部署有关。

与传统集中式系统相比:

集中式系统是一种Scale out/in,纵向扩展,要么向上升级服务器到中大型机,要么升级多核,增加CPU核数,集中式纵向扩展适合计算聚合度比较高的数据,而分布式适合计算松散数据,非结构化或半结构化数据。无论采取哪种扩展伸缩方案,需要根据业务数据特点而定。

任何分布式系统总是需要完成两个任务:计算和存储。计算和存储分离是分布式系统的重要特征。而通常在集中式或单机系统中,这两者是可能结合在一起,比如通过一个SQL语句实现查询后排序,查询是从存储中获得数据,排序是属于计算,因此这个SQL语句实际是将计算和存储耦合在一起。在应对大数据或大并发的情况下,这种方便的捆绑带来性能问题,而分布式计算和分布式存储虽然带来复杂性,但是也为系统的处理能力打开了上升拓展的空间。