分布式系统介绍

主题介绍

分布式系统--在这些系统中,一组独立的计算机在其用户看来是一个单一的统一系统。
分布式计算机系统是一组网络连接的独立计算机,它作为一个单一的计算机呈现给用户。
分布式软件系统是一组通过消息交换方式进行互动的组件。
分布式系统的主要任务是促进用户对远程资源的访问,并确保其共同使用。 

下面将讨论如何组织进程的交互以及它们对RAM和文件系统的访问。 
并描述分布式系统可靠运行的原则。

分布式系统的例子

  • 工作站的网络
  • 计算机集群
  • 银行交易支持系统
  • 机票预订系统
  • 互联网
  • 电子信箱
  • 电子商务
  • 社会网络
  • 多人互动游戏,等等

分布式系统的特点

  • 竞争力
  • 没有全局时钟
  • 独立失败

塑造当今多发性硬化症发展的趋势

  • 联网技术的广泛使用
  • 无处不在的计算,再加上支持分布式系统中用户移动性的愿望
  • 对多媒体服务日益增长的需求
  • 分布式系统的介绍,作为一种实用工具

强调资源共享

  • 设备(打印机,磁盘,......)

  • 数据(文件、数据库)

  • 服务(互联网搜索、在线编辑、互动游戏)

分布式系统新手开发者的错误假设

  • 网络安全
  • 网络是安全的
  • 网络是同质化的
  • 拓扑结构不改变
  • 零延时
  • 带宽是无限的
  • 运输成本为零
  • 有一个管理员

问题

  • 异质性
  • 公开性
  • 保密性
  • 可扩展性
  • 可靠性
  • 竞争力
  • 透明度
  • 服务质量(可靠性、保密性、性能、响应性、适应性)

为什么要创建分布式系统? 与集中式计算机相比,它们有什么优势?

  • 通过组合微处理器可以实现高性能,这在集中式计算机中是无法实现的。
  • 自然分布性(银行,支持用户群一起工作)。
  • 可靠性(少数节点的故障会使性能降低得很不明显)。
  • 递增的性能。
  • 其主要原因是大量的计算机和需要一起工作,而没有人、数据和机器在地理和物理上的分布带来的不便。
     

为什么分布式系统要联网?

  • 需要分离数据。
  • 共享昂贵的外围设备、独特的信息和软件资源的优势。
  • 实现人与人之间的高级交流。在许多情况下,电子邮件比信件、电话和传真更方便。
  • 灵活地使用不同的计算机,分担负荷。
  • 通过计算机的更换,简化了逐步现代化的过程。

分布式系统的原则

  • 透明度
  • 灵活性
  • 可靠性
  • 效率
  • 可扩展性

透明度

  • 位置透明:用户不需要知道资源的位置。
  • 迁移的透明度:资源可以在不改变其名称的情况下被移动
  • 复制透明:用户不需要知道有多少份拷贝存在
  • 竞争透明:多个用户自动共享资源
  • 透明的并发性 :工作可以在没有用户参与的情况下并行运行

可靠性

  • 可用性、容错性
  • 保密性
     

性能

  • 颗粒性。细粒度和粗粒度的并行性(fine-grained parallelism, coarse-grained parallelism)
  • 容错需要额外的开销
     

可扩展性


糟糕的解决方案。

  • 集中的组件(一个邮件服务器)。
  • 集中的表格(一个电话簿)。
  • 集中式算法(基于完整信息的路由器)。

只有具有以下特点的分散式算法。

  • 没有机器拥有关于系统状态的全部信息。
  • 机器只根据本地信息做出决定。
  • 一台机器的故障不能导致算法的失败。
  • 不应该有全球时钟存在的隐含假设。

例子:心律监测

分布式系统介绍_第1张图片

 分布式系统介绍_第2张图片

分布式系统介绍_第3张图片 

主要专题

  • 分布式系统的优势
    • 透明度。开放性。可扩展性。
  •  流程
    • 进程和线程。 OpenMP。多线程的客户和服务器。相互排斥的关键区间。德克尔,彼得森的算法。Dijkstra的信号灯。事件机制。
    • 过程之间互动的经典问题--生产者-消费者和读者-作者。
  • 通讯.
    • 相互作用模型。消息传递模型。MPI。信息传输的模式。集体行动。远程程序调用。
  •  同步性
    • 时间的同步性。逻辑时钟。全球状态。表决算法。相互排斥。分布式交易。过程的协调。
  • 分布式共享内存(DSM)
    • 共享内存的优势。分布式共享内存的实现原则。一致性模型。基于页面的DSM。基于共享变量的DSM。
  •  分布式文件系统。
    •  对目录和文件的访问。多个进程同时访问同一文件的语义。文件缓存和溢出。例如 - 网络文件系统,HDFS。
  •   容错性 .
    • 失败的类型。失败。数据跳过。同步错误。响应错误。拜占庭式的错误。可靠的集团调度。双相和三相的确认协议。检查点的修复和故障的恢复。信息记录。
  •   分布式系统的例子
    • Hadoop项目。

你可能感兴趣的:(分布式系统,分布式)