《分布式系统:概念与设计》一2.2 物理模型

简介: 本节书摘来华章计算机《分布式系统:概念与设计》一书中的第2章 ,第2.1节,(英) George Coulouris Jean DollimoreTim Kindberg Gordon Blair 著 金蓓弘 马应龙 等译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 物理模型

物理模型是从计算机和所用网络技术的特定细节中抽象出来的分布式系统底层硬件元素的表示。
基线物理模型:在第1章中,分布式系统被定义成其位于联网计算机上的硬件或软件组件仅通过消息传递进行通信和协调动作的系统。这引出分布式系统的最小物理模型,最小物理模型是一组可扩展的计算机结点,这些结点通过计算机网络相互连接进行所需的消息传递。
在这个基线模型之上,我们能有效地识别出三代分布式系统。
早期的分布式系统:这样的系统出现在20世纪70年代晚期和80年代早期,随着局域网技术如以太网(参见3.5节)的出现而出现。这些系统一般由通过局域网互联的10~100个结点组成,它们与互联网的连接有限并支持少量的服务(如共享的本地打印机和文件服务器以及电子邮件和互联网上的文件传输)。单个的系统大部分是同构的,开放性不是主要的问题。服务质量提供还很少,是围绕这样的早期系统开展的很多研究中的一个焦点。
互联网规模的分布式系统:在这个基础上,20世纪90年代更大规模的分布式系统开始出现,以适应当时互联网惊人的发展(例如,Google搜索引擎在1996年第一次发布)。在这样的系统中,底层物理基础设施由第1章图1-3所示的物理模型组成,即一个可扩展的结点集合,这些结点通过一个网络的网络(互联网)相互连接。这样的系统利用了互联网提供的基础设施从而变成真正的全球化。它们包含大量的结点并且为全球化组织提供分布式系统服务,也跨组织提供分布式系统服务。在这样的系统中,从网络、计算机体系结构、操作系统、所采用的语言和所涉及的开发团队方面来说,异构性是很突出的。这导致开放标准和相关的中间件技术(如CORBA和最近的Web服务等)的重要性不断增加。在这样的全球化系统中,采用了额外的服务来提供端到端的服务质量特性。
当代的分布式系统:在上述系统中,结点通常是台式机,因此是相对静态的(即在一段时间里停留在一个物理位置)、分立的(没有嵌入到其他物理实体内)和自治的(就物理基础设施而言,很大程度上独立于其他计算机)。1.3节介绍的关键趋势促进了物理模型的进一步发展:

  • 移动计算的出现导致这样的物理模型,在这种模型中,像笔记本电脑或智能手机这样的结点可以从一个位置移动到另一个位置,它还导致了对诸如服务发现这样的新增功能的需要和对自发互操作的支持。39
  • 无处不在计算的出现导致了体系结构从分立结点型转向计算机被嵌入到日常物品和周围环境中(例如,嵌入在洗衣机中或更一般地嵌入在智能家庭设备中)。
  • 云计算特别是集群体系结构的出现导致了从自治结点完成给定任务转向一组结点一起提供一个给定的服务(例如,由Google提供的搜索服务)。

最终的结果是出现一个异构性有很大增加的物理体系结构,例如,从无处不在计算中使用的最小的嵌入式设备到网格计算中的复杂的计算元素。这些系统部署不断增加的不同的网络技术,并提供广泛的应用和服务。这样的系统可能涉及成百上千个结点。
系统的分布式系统 最近的一个报告讨论了超大规模(Ultra-Large-Scale,ULS)的分布式系统[www.sei.cmu.edu]。报告收集了现代分布式系统的复杂性,把这样的(物理)体系结构叫做系统的系统(反映了与将互联网看成网络的网络相同的观点)。系统的系统可以被定义成一个复杂系统,它由一系列子系统组成,这些子系统本身也是系统,它们一起完成一个或多个特定的任务。
作为系统的系统的一个例子,考虑一个用于洪水预测的环境管理系统。在这样一个场景中,部署了传感网来监视与河流、冲积平原、潮汐效应等相关的不同的环境参数的状态。这可以通过在集群计算机(相关讨论参见第1章)上运行模拟程序,与负责预测洪水可能性的系统耦合在一起。可以建立其他系统用于维护和分析历史数据或通过移动电话给关键的利益共享者提供早期报警。
总结 图2-1总结了本节提出的三代分布式系统,从管理异构性水平以及提供关键特性(如开放性和服务质量)的角度,用表格显示了与当代分布式系统相关的重要挑战。
image

相关文章
|
存储 程序员 Linux
从软硬件交互的角度去看中断的一生
从软硬件交互的角度去看中断的一生
460 0
|
2月前
|
人工智能 安全 搜索推荐
钉钉发布全球首个工作智能操作系统Agent OS,专为AI打造
AI钉钉1.1版本名为“木兰”,距离钉钉发布AI钉钉1.0版本“蕨”不到四个月。“蕨象征着破土,木兰是破土后的初生。”钉钉创始人、CEO陈航(花名:无招)说,“未来,钉钉上所有AI Agent都基于Agent OS搭建和运行,让AI直连物理世界。”
234 1
|
存储 Java Linux
TeamTalk - 蘑菇街开源的一款企业办公即时通信软件
TeamTalk 是蘑菇街开源的一款企业办公即时通信软件,最初是为自己内部沟通而做的 IM 工具。团队自己的介绍如下: 2013年我们蘑菇街从社区导购华丽转身时尚电商平台,为解决千万妹子和时尚卖家的沟通问题,我们开发了自己的即时通讯软件。既然已经有了用户使用的IM,为什么我们自己公司内部沟通还要用第三方的呢?因此就有了TT(TeamTalk)的雏形,现在蘑菇街内部的在线沟通全部通过TT来完成。随着TT功能的逐渐完善,我们决定把TT开源来回馈开源社区,希望国内的中小企业都能用上开源、免费、好用的IM工具!
1389 0
TeamTalk - 蘑菇街开源的一款企业办公即时通信软件
|
NoSQL Java Redis
Jedis高版本的JedisPoolConfig没有maxActive和maxWait
在高版本的Jedis中,连接池配置属性发生了一些变化。通过使用 `JedisPoolConfig`中的新属性,可以更好地管理和优化Redis连接池。本指南提供了详细的配置方法和示例代码,帮助开发者快速上手并正确配置Jedis连接池。希望本文对您有所帮助,能够在项目中高效地使用Jedis与Redis。
450 14
|
边缘计算 人工智能 Cloud Native
未来云计算发展趋势及挑战
随着数字化转型的加速推进,云计算作为关键基础设施之一,正扮演着越来越重要的角色。本文探讨了未来云计算的发展趋势和面临的挑战,分析了云原生技术、多云环境管理等领域的创新,展望了云计算在不断变革的科技领域中的前景。
2346 28
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
591 57
|
Linux Shell 网络安全
Linux 命令 `clear` 详解
了解 Linux 的 `clear` 命令,用于清除终端屏幕,保持整洁。只需输入 `clear` 或使用 `Ctrl + L` 快捷键,也可尝试 `reset` 命令和 `printf "\033c"`。注意,`clear` 不会删除历史数据,仅清空屏幕显示。这个命令能提升终端使用体验和工作效率。
|
存储 Linux
Linux命令`df`详解
`df`命令在Linux中用于显示磁盘空间使用情况。基本用法是`df`,显示所有挂载点的磁盘空间;`-h`提供人性化尺寸(GB, MB);`-T`显示文件系统类型;`-i`显示inode信息;`-a`包括所有文件系统;`-t TYPE`和`-x TYPE`筛选特定类型文件系统;`--output=FIELD_LIST`选择显示字段;`-l`仅显示本地文件系统。学习这些选项有助于有效管理磁盘空间。
|
JSON 前端开发 JavaScript
HTML+CSS+JS实现【别踩鸡块】,含(源码+思路)
HTML+CSS+JS实现【别踩鸡块】,含(源码+思路)
758 1
HTML+CSS+JS实现【别踩鸡块】,含(源码+思路)
|
存储 前端开发 编译器
Python 教程之 Numpy(5)—— 数据类型对象(dtype)
Python 教程之 Numpy(5)—— 数据类型对象(dtype)
381 0