《分布式系统:概念与设计》一1.1 简介-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

《分布式系统:概念与设计》一1.1 简介

简介:

1.1 简介

计算机网络无处不在。互联网也是其中之一,因为它是由许多种网络组成的。移动电话网、协作网、企业网、校园网、家庭网、车内网,所有这些,既可单独使用,又可相互结合,它们具有相同的本质特征,这些特征使得它们可以放在分布式系统的主题下来研究。本书旨在解释影响系统设计者和实现者的连网的计算机的特征,给出已有的可帮助完成设计和实现分布式系统任务的主要概念和技术。
我们把分布式系统定义成一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。这个简单的定义覆盖了所有可有效部署连网计算机的系统。
由一个网络连接的计算机可能在空间上的距离不等。它们可能分布在地球上不同的洲,也可能在同一栋楼或同一个房间里。我们定义的分布式系统有如下显著特征:
并发:在一个计算机网络中,执行并发程序是常见的行为。用户可以在各自的计算机上工作,在必要时共享诸如Web页面或文件之类的资源。系统处理共享资源的能力会随着网络资源(例如,计算机)的增加而提高。在本书的许多地方将描述有效部署这种额外能力的方法。对共享资源的并发执行程序的协调也是一个重要和重复提及的主题。
缺乏全局时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。密切的协作通常取决于对程序动作发生的时间的共识。但是,事实证明,网络上的计算机与时钟同步所达到的准确性是有限的,即没有一个正确时间的全局概念。这是通信仅仅是通过网络发送消息这个事实带来的直接结果。定时问题和它们的解决方案将在第14章描述。
故障独立性:所有的计算机系统都可能出故障,一般由系统设计者负责为可能的故障设计结果。分布式系统可能以新的方式出现故障。网络故障导致网上互连的计算机的隔离,但这并不意味着它们停止运行,事实上,计算机上的程序不能够检测到网络是出现故障还是网络运行得比通常慢。类似的,计算机的故障或系统中程序的异常终止(崩溃),并不能马上使与它通信的其他组件了解。系统的每个组件会单独地出现故障,而其他组件还在运行。分布式系统的这个特征所带来的后果将是贯穿本书的一个反复提及的主题。
构造和使用分布式系统的主要动力来源于对共享资源的期望。“资源”一词是相当抽象的,但它很好地描述了能在连网的计算机系统中共享的事物的范围。2它涉及的范围从硬件组件(如硬盘、打印机)到软件定义的实体(如文件、数据库和所有的数据对象)。它包括来自数字摄像机的视频流和移动电话呼叫所表示的音频连接。
本章主要论述分布式系统的本质,以及成功部署分布式系统必须要面临的挑战,1.2节展示了分布式系统的一些重要的例子,1.3节给出了推动分布式系统发展的关键趋势,1.4节关注资源共享系统的设计,1.5节则阐述了分布式系统设计者所要面对的重要挑战:异构性、开放性、安全性、可伸缩性、故障处理、并发性、透明性和服务质量。1.6节给出了一个众所周知的分布式系统——万维网的详细的实例研究,说明了它是如何支持资源共享的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: