分布式系统概念与设计.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程经验交流 书籍 Richard Stevens Advanced Programming in the UNIX Environment UNIX Network Programming Vol. ? 影印版 Distributed System, Concepts and Design 谢谢大家! * * 复制透明,移动透明,位置透明,访问透明,故障透明,扩展透明 * 采用公共的标准非常重要 * 虚拟机 * 浏览器的plug-in功能,是它的开放性的一个特点 开放性是一个决定一个系统能否被扩展或者用不同方式重新实现的特征,例如 Unix。 Unix以及其它相类似的操作系统都符合POSIX,即操作系统对应用程序提供 了一些标准的接口。在这种情况下unix系统就可以被扩展,也可以被重新实现,例 如,如果实现了一个新的操作系统的内核,它也对应用程序提供符合POSIX的接 口,应用程序就基本上只需要重新编译就可以在新的操作系统上跑。因此在unix, Linux ,free BSD等这一类操作系统之间互相移植应用程序出现的问题相对要少。 * * * * * * * * * 挑战---异构性(Heterogeneity) 网络协议 Ethernet, token ring, etc 硬件 big endian / little endian 操作系统 different API of Unix and Windows 编程语言 different representations for data structures 开发者实现方式的不同 no application standards * 中间件(Middleware) 应用到软件层,用来屏蔽底层的异构性。例如Java的RMI, 提供远程调用的接口,可以在任何操作系统上运行。 移动代码(Mobile code) 移动代码需要在不同的机器间移动并执行,必须解决异构的问题。 虚拟机运行在不同的机器或系统上,代码在虚拟机上运行。 挑战---异构性(Heterogeneity) * 挑战—开放性(openness) 计算机系统的开放性 一个系统是否可以扩充以不同的方式重新实现。例如:UNIX 分布式系统的开放性 在多大程度上新的资源共享服务可以加到系统中来。例如:WEB, plug-in RFC 挑战—开放性(openness) 关键的接口是公开的 (API) * 挑战—开放性(openness) 统一的通信机制 (例如 XML-RPC) * * 挑战—安全性(security) 机密性(Confidentiality) 防止未经授权的个人访问资源 e.g. ACL in Unix File System 完整性(Integrity) 防止数据被篡改和破坏 e.g. checksum 可用性(Availability) 防止对所提供服务的干扰 e.g. Denial of service * 挑战—可扩展性( Scalability) 即使系统规模有一定规模的扩展,无论是资源还是用户,系统的性能保持在一定的水平 E.g. the Internet 设计上的挑战 控制物理资源的代价,e.g.,随着用户数的增长,服务器的增长代价不能超过 O(n) 控制性能损失, e.g., DNS no worse than O(logn) 控制软件资源被耗尽,e.g., IP address 防止性能瓶颈, e.g., partitioning name table of DNS, cache and replication * 挑战—可扩展性( Scalability) * * * * 挑战—故障处理( Failure handling ) 检测故障 e.g. 用校验和检测数据 但是在分布式系统中确切的知道远程服务器是否出现故障是很难做到的。 屏蔽故障 e.g. 重发没有收到的消息, 备份服务器等 故障容错 e.g. 无法做到屏蔽故障,至少让用户知道出现了问题,让用户自由选择是否继续请求服务。 故障恢复 e.g. 操作日志,恢复。 冗余策略 e.g. IP route, replicated name table of DNS * 挑战—并发( Concurrency) 正确性 多个进程并发访问共享资源,要保证被访问数据的正确性,不能出现不一致。 Performance 多个并发操作保证性能 E.g. Maze 索引服务器,按UID,将任务分布给10个逻辑进程来处理。 * 挑战—透明性(Transparency) 访问透明(Access transparency) 使用同样的操作去访问本地资源和远程资源。 E.g. NFS / Windows File Sharing 位置透明(L

文档评论(0)

神话 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5203223011000000

1亿VIP精品文档

相关文档