什么是分布式系统

举报
看,未来 发表于 2020/12/29 23:59:53 2020/12/29
【摘要】 本篇属于《分布式系统学习》系列 教材:《分布式系统:概念与设计》 新手上路,按我的一贯作风,第一遍基本是总结书上的东西,对于小白来说,看书还不如看我的读书笔记。所以本系列适用于跟我一样的小白。 CSDN搜“看,未来”,欢迎关注收藏。 文章目录 什么是分布式系统并发缺乏全局时钟独立故障性分布式系统的未来泛在联网和现代互联网移动和无处不在的计算分布式...

在这里插入图片描述

本篇属于《分布式系统学习》系列
教材:《分布式系统:概念与设计》
新手上路,按我的一贯作风,第一遍基本是总结书上的东西,对于小白来说,看书还不如看我的读书笔记。所以本系列适用于跟我一样的小白。
CSDN搜“看,未来”,欢迎关注收藏。

什么是分布式系统

分布式系统是其组件分布在连网的计算机上" 组件之间通过传递消息进行通信和动作协调的系统。该定义引出了分布式系统的下列重要特征:

组件的并发性
缺乏全局时钟
组件故障的独立性

  
 
  • 1
  • 2
  • 3

说些常见的栗子就明白了,概念不要狭窄了:web搜索、多人在线游戏、金融交易系统等。

并发

在一个计算机网络中执行并发程序是常见的行为,用户可以在各自的计算机上工作在必要时共享诸如web页面或文件之类的资源。系统处理共享资源的能力会随着网络资源(例如" 计算机)的增加而提高。

缺乏全局时钟

在程序需要协作时,它们通过交换消息来协调它们的动作。密切的协作通常取决于对程序动作发生的时间的共识。但是,事实证明,网络上的计算机与时钟同步所达到的准确性是有限的,即没有一个正确时间的全局概念。这是通信仅仅是通过网络发送消息这个事实带来的直接结果。

独立故障性

所有的计算机系统都可能出故障,一般由系统设计者负责为可能的故障设计结果。分布式系统可能以新的方式出现故障。网络故障导致网上互连的计算机的隔离,但这并不意味着它们停止运行,事实上,计算机上的程序不能够检测到网络是出现故障还是网络运行得比通常慢。类似的,计算机的故障或系统中程序的异常终止(崩溃) 并不能马上使与它通信的其他组件了解。系统的每个组件会单独地出现故障,而其他组件还在运行。

分布式系统的未来

分布式系统正在经历巨大的变化,这可追溯到一系列有影响力的趋势:

  • 出现了泛在联网技术
  • 出现了无处不在计算,它伴随着分布式系统中支持用户移动性的意愿
  • 对多媒体设备的需求增加
  • 把分布式系统作为一个设施

泛在联网和现代互联网

现代互联网是一个巨大的由多种类型计算机网络互连的集合,网络的类型一直在增加,现在包括多种多样的无线通信技术,如WiFi、蓝牙、和第三代移动电话网络。最终结果是联网已成为一个泛在的资源,设备可以在任何时间,任何地方被连接(如果愿意)

移动和无处不在的计算

设备小型化和无线网络方面的技术进步已经逐步使得小型和便携式计算设备集成到分布式系统中。
这些设备包括:

  • 笔记本电脑
  • 手持设备,包括移动电话、智能电话、设备传呼机等
  • 可穿戴设备
  • 嵌入式设备等

这些设备大多数具有可携带性,再加上它们可以在不同地方方便地连接到网络的能力,使得移动计算成为可能。
移动计算是指用户在移动或访问某个非常规环境时执行计算任务的性能。在移动计算中,远离其本地的企业内部网(指工作环境或其住处的企业内部网)的用户也能通过他们携带的设备访问资源,他们能继续访问互联网,继续访问在他们本地内部企业网上的资源。
为用户在其移动时提供资源(如打印机)或方便地利用附近的销售点的情形也在不断增加。后者也称为位置感知或上下文感知的计算。
移动性为分布式系统引入了一系列的挑战,包括需要处理变化的连接甚至断连需要在
设备移动时维持操作。

分布式多媒体需求

另一个重要的趋势是在分布式系统中支持多媒体服务的需求。
多媒体支持可以定义为以集成的方式支持多种媒体类型的能力。人们可以期望分布式多媒体系统支持离散类型媒体(如图片或正文消息)的存储、传输和展示。
分布式多媒体系统应该能对连续类型媒体(如音频和视频)完成相同的功能,即它应该能存储和定位音频或视频文件,并通过网络传输它们。

挑战

异构性

互联网使得用户能在大量异构计算机和网络上访问服务和运行应用程序。下面这些均存在异构性(即存在多样性和差别):

网络
计算机硬件
操作系统
编程语言
由不同开发者完成的软件实现

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

开放性

计算机系统的开放性是决定系统能否以不同的方式被扩展和重新实现的特征。分布式系统的开放性主要取决于新的资源共享服务能被增加和供多种客户程序使用的程度。
除非软件开发者能获得系统组件的关键软件接口的规约和文档,否则无法实现开放性。一句话,发布关键接口。这个过程类似接口的标准化,但它经常避开官方的标准化过程,官方的标准化过程通常烦琐且进度缓慢。
然而,发布接口仅是分布式系统增加和扩展服务的起点。设计者所面临的挑战是解决由不同人构造的由许多组件组成的分布式系统的复杂性。

安全性

分布式系统中维护和使用的众多信息资源对用户具有很高的内在价值,因此它们的安全相当重要。

可伸缩性

分布式系统可在不同的规模(从小型企业内部网到互联网)下有效且高效地运转。如果资源数量和用户数量激增,系统仍能保持其有效性,那么该系统就称为可伸缩的。

故障处理

分布式系统的故障是部分的,也就是说,有些组件出了故障而有些组件运行正常。因此故障的处理相当困难。

等等

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/106646584

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。