BeijingUniversityofPostsandTelecommunicationsPage1分布计算环境课程总结BeijingUniversityofPostsandTelecommunicationsPage2主要内容第一章绪论第二章分布式系统的基本原理第三章面向对象的分布计算环境第四章面向构件的分布计算环境第五章面向Web的分布计算环境第六章面向资源整合的分布计算环境第七章基于人工智能的分布计算环境BeijingUniversityofPostsandTelecommunicationsPage3绪论分布式系统在网络计算平台上开发、部署、管理和维护以资源共享和协同工作为主要应用目标的分布式应用系统分布计算简单地说,分布式计算是两个或多个软件共享信息、协同工作。这些软件既可以在同一台计算机上运行,也可在通过网络连起来的几台不同机器上运行。分布计算技术是构成分布式系统的基础BeijingUniversityofPostsandTelecommunicationsPage4分布计算环境分布计算环境:分布计算环境提供了网络环境下不同软、硬件平台资源共享和互操作的有效手段,使得分布式计算可以比较方便地得以实现,从而分布式系统可以比较方便地得以构造方便分布式系统的构建:设计、实现、部署、维护分布式计算环境本身实际上也是分布式系统DistributedComputingEnvironmentBeijingUniversityofPostsandTelecommunicationsPage5分布计算环境的技术基础分布式计算环境构造技术基础分布在网络上的程序之间的互操作技术目录技术、负载平衡技术、容错技术、事务管理技术、安全技术……面向对象的分布计算环境简化面向对象的分布式系统的设计与实现面向构件的分布计算环境简化基于构件的分布式系统的设计与实现面向……的分布计算环境BeijingUniversityofPostsandTelecommunicationsPage6主要内容第一章绪论第二章分布式系统的基本原理第三章面向对象的分布计算环境第四章面向构件的分布计算环境第五章面向Web的分布计算环境第六章面向资源整合的分布计算环境第七章基于人工智能的分布计算环境BeijingUniversityofPostsandTelecommunicationsPage7分布式系统的基本原理体系结构进程通信命名一致性和复制容错安全BeijingUniversityofPostsandTelecommunicationsPage8分布式系统体系结构样式1、分层体系结构2、对象的体系结构3、以数据为中心的体系结构4、基于事件的体系结构第N层第N-1层第2层第1层共享数据空间组件组件组件组件组件组件主动仓库式(黑板式)BeijingUniversityofPostsandTelecommunicationsPage9系统体系结构系统体系结构:软件体系结构的具体实例。确定了软件组件、这些组件的交互以及它们的位置(部署)就是软件体系结构的一个实例。主要讨论1、集中式体系结构2、非集中式体系结构,如P2P3、混合体系结构BeijingUniversityofPostsandTelecommunicationsPage10C/S集中式的各种各样的分层方式如何分层取决于应用系统的具体情况BeijingUniversityofPostsandTelecommunicationsPage11混合型体系结构将客户/服务器结构与非集中式结构相结合如:边界服务器系统(edgeserver)C/SP2PBeijingUniversityofPostsandTelecommunicationsPage12进程分布式系统中,进程是基本部分,它们构成了不同机器间通信的基础;分布式系统中的线程对于执行阻塞性I/O操作时继续使用CPU是非常有用的,如采用多线程方式,可以构建更高效的服务器;客户进程一般实现用户接口;通过隐藏与服务器通信的细节,获得更好的分布透明性;客户进程可以是多线程的;服务器进程可以实现一种服务也可以实现多种服务,可以是状态无关的也可以是状态相关的;服务器进程常是多线程实现的;很多服务器组织成集群,通常需隐藏集群内部细节,使用单访问点将请求消息转发给服务器。BeijingUniversityofPostsandTelecommunicationsPage13服务器的有状态和无状态无状态服务器:服务器不保存客户程序的状态例如,Web服务器有状态服务器:保存客户程序的状态例如,NFS文件服务器文件使用表(客户,文件,可更新否)服务器重启时:恢复故障前状态无状态服务器也可以实现有状态的服务如Web服务器使用CookieBeijingUniversityofPostsandTelecommunicationsPage14通信传统的分布式系统通过基于传输层提供的低层消息来进行通信,如TCP/IP套接字分布计算环境(中间件)提供更高层次的通信支持RPC、RMI基于消息的通信RPC、RMI等主要提供同步通信功能但在一些应用场合,面向消息的异步通信更方便一些瞬时和持久,同步和异步:这些性质可以组合BeijingUniversityofPostsandTelecommunicationsPage15如:通信持久性和同步性的组合(a)持久异步通信(b)持久同步通信BeijingUniversityofPostsandTelecommunicationsPage16通信面向流的通信服务质量QoS数据传输要求的比特率创建会话的最大延时端到端最大延时最大往返延时误码率丢包率流的同步多播通信从发送方到多个接收方BeijingUniversityofPostsandTelecommunicationsPage17命名名称在所有计算机系统中都起着非常重要的作用名称可用来表示实体,基本有3种类型的名称:地址、标识符、用户友好的名称命名系统的主要功能是把名称解析为它所标识的实体简单地,命名系统中可以有一个名称到地址的绑定表如(Name,address)表大型分布式系统,资源众多,一个表可能无法满足要求分布式系统中,命名系统的实现本身通常是分布在多台计算机上的其分布机制对命名系统的效率和可靠性起着关键的作用BeijingUniversityofPostsandTelecommunicationsPage18分布式系统常见的三类命名系统无结构命名名称中不包含任何有关如何定位其相关实体的访问点的信息:广播多播、分布式散列表结构化命名简单的、人类可理解名称;名称通常组成名字空间:根节点、目录节点、叶节点DNS基于属性的命名常用(属性、值)来描述实体;基于属性的命名系统称为目录服务。LDAPBeijingUniversityofPostsandTelecommunicationsPage19分布式系统常见的三类命名系统BeijingUniversityofPostsandTelecommunicationsPage20复制与一致性进行复制的主要原因:可靠性:一个副本被破坏,可以切换到另外的副本,保护数据,不影响应用的运行。性能:并行性、可伸缩性,(服务器数量、地域)可均衡负载,提高访问性能地域扩展,就近访问,提高性能。复制是有代价的,副本间要有一致性保证紧密一致性很难达到松驰一致性:一致性放宽的程度主要取决于复制数据的访问和更新模式,同时还取决于这些数据的用途BeijingUniversityofPostsandTelecommunicationsPage21常见的一致性模型以数据为中心的一致性模型:假设并发进程可能并发读写数据存储以用户为中心的一致性模型:保证一个客户对数据存储的访问是一致的BeijingUniversityofPostsandTelecommunicationsPage22容错:失效(失败)模型失效类型描述崩溃性失效服务器停止。但在停止前一直正确工作遗漏性失效接收遗漏发送遗漏服务器不能响应到来的请求服务器不能接收到来的消息服务器不能发送消息定时性失效服务器的响应超出规定的时间间隔响应性失效值失效状态变迁失效服务器的响应不正确响应的值是错误的服务器偏离正确的控制流任意性失效服务器在任意的时刻产生任意的响应BeijingUniversityofPostsandTelecommunicationsPage23可靠的客户服务器通信RPC失效5种失效情况客户服务器1.定位失败2.请求消息丢失3.服务器失败5.客户失败4.应答消息丢失BeijingUniversityofPostsandTelecommunicationsPage24进程的容错复制进程,用一个容错的进程组来代替一个脆弱的进程需要多少复制?取决于失效类型故障系统的协定:在有限的步骤内,所有非故障进程达成某个一致意见如果通信是不可靠的,无法达成协定两军问题如果通信是可靠的,什么情况下可达成协定?拜占庭将军问题BeijingUniversityofPostsandTelecommunicationsPage25可靠的分组通信可靠多播:发送到一个进程组的消息被传递到该组的每个成员基本的可靠多播方法:假定所有的接收者已知而且假定不会失败的简单可靠多播方法反馈抑制技术虚拟同步可靠多播:发送方在多播期间崩溃,也保证可靠多播原子多播:提供了全序消息传送的虚拟同步可靠多播。BeijingUniversityofPostsandTelecommunicationsPage26分布式提交分布式提交:具有原子性:要使一个操作被进程组中每一个进程都执行或都不执行。通常使用协调者两阶段提交NoYes向所有参与者发询问CanCommit?可以提交?向所有参与者发立即提交请求DoCommit接受参与者的回答:GetDecision中止本次提交AbortCommit接受参与者的完成回答Havecommited/HaveabortedBeijingUniversityofPostsandTelecommunicationsPage27恢复处理目的:使系统从错误状态到正确状态类型:向后恢复向前恢复检查点技术(checkpoint)分布式快照,多米诺效应消息日志技术(logging)基于发送者也可基于接收者写日志BeijingUniversityofPostsandTelecommunicationsPage28安全:基本概念一个安全的计算机系统,必须具有以下两个属性:机密性(Confidentiality):指计算机系统的一种属性,系统凭借此属性使得信息只向授权用户公开。完整性(Integrity):指对系统资源的变更只能以授权的方式进行。不适当的变更应该是可以察觉的并可以恢复的。安全威胁:窃听、中断、篡改、伪造安全机制:加密、认证、授权、审计BeijingUniversityofPostsandTelecommunicationsPage29核心基础:加密对称加密系统:使用相同的密钥进行一个消息的加密和解密非对称加密系统(也叫公钥系统):加密和解密所使用的密钥不同,但两个密钥一起构成唯一的一对:符号定义NotationDescriptionKA,BA和B共享的密钥A的公钥A的私钥KAKABeijingUniversityofPostsandTelecommunicationsPage30安全通道安全通道保护发送者和接收者之间的安全通信通信方必须正确正确:身份认证通信的数据保持机密性和完整性机密性:使用加密技术,常使用会话密钥完整性:数字签名BeijingUniversityofPostsandTelecommunicationsPage31身份认证BeijingUniversi