分布式和云计算基础(中国科学技术大学课程说明)

电脑杂谈  发布时间:2020-07-17 13:12:08  来源:网络整理

云计算与分布式_分布式云计算_云计算 分布式存储

大多数课程都是从使用角度谈论分布式系统如何工作和完成任务. 本课程从系统设计,如何实现分布式系统以及要考虑的问题的角度出发. 它使我受益匪浅,因此进行了整理.

什么是分布式系统: 1.一个由多台独立计算机连接的系统. 它必须是多台独立的计算机,而不是一台具有多个核心的计算机. 2.在用户眼中,感觉就像一个单一的系统,即透明性. 分布式系统要实现的目标是将多台计算机的性能组合在一起,而不会造成任何差异.

分布式系统需要实现多种透明度. 下表说明了几种常见的透明度.

在分布式系统中,可伸缩性/可伸缩性是重要的性能考虑因素之一. 在任何集中式系统中,当规模扩大时,都会出现问题并且很难实现. 因此,我们必须考虑下放制度. 对于分散式系统:

·没有机器拥有全局信息,因此不能说任何决定都是最优的. 它基于已经拥有的信息. P2P和路由协议是制定本地决策的示例.

·基于本地信息做出决策,因为即使通过网络进行传输也无法获得全局信息,这并不像本地信息那样快.

分布式云计算_云计算 分布式存储_云计算与分布式

·错误是不可避免的,因此有必要考虑各种容错机制,非常简单的任务,一旦将其放置在分布式系统中,就必须考虑各种故障情况,问题变得复杂.

·没有统一的全局时钟. 可以执行全局同步时钟,但是它将涉及很多计算机之间的通信,并且CPU的运行速度非常快,大量的通信不可避免地会导致性能下降,因此您无法尽可能地实现全局时钟

成熟的分散式分布式系统的参考学习:

设计时需要考虑分布式系统中的许多常见错误:

分布式系统可以大致分为三类:

云计算 分布式存储_云计算与分布式_分布式云计算

第一类是分布式计算系统: 为了执行高效的计算,需要并行计算多个计算机集群

传统方式通常是由一个统一的节点组,然后由一个统一的管理节点进行管理.

下一个发展是网格计算: 计算节点可以从本地的数十台机器扩展到广域中的数十万台. (是云计算的前身)

第二种类型是分布式信息系统: 它主要处理信息和信息交换分布式云计算,并且不需要计算机具有过多的计算能力. 分布式信息系统设计主要考虑信息的屏蔽,即屏蔽底层的通信,以实现上层应用程序的端到端数据交互. 这就是我们所熟悉的

第三类是分布式通用系统(我们的通用物联网IOT),基本上属于下一代分布式系统,这是相对特殊的,涉及网络等概念.

在分布式系统的传输过程中讨论至少一次或最多一次的常见问题,因为超时用于确定传输是否成功. 如果失败,则无法确定是传输期间是问题还是返回期间是问题. ,因此您只能选择是否失败进行重新传输. 如果选择不重新传输,则假定返回路径丢失并且服务器已接收到数据. 但是,如果传输过程中出现问题,则服务器不会接收数据,因此可能会丢失数据,并且最多不会丢失任何数据. 现在最多只能一次. 如果假定传输过程中存在问题,并且服务器未接收到数据分布式云计算,请在超时后重新传输数据. 但这可能是返回路径的问题,服务器已接收到数据,因此由于重传(至少一次),它将接收到多个数据副本. 我们将根据不同的应用场景决定选择哪种情况. 例如,TCP有超时重传,至少有一次,并且大数据卡夫卡中有策略来决定哪种情况.

云计算 分布式存储_云计算与分布式_分布式云计算

接下来,我介绍了幂等的概念. 老师说,幂等指的是允许重复多次传输的应用程序. 我在Internet上进行了深入检查. 幂等是数学中的一个概念,表示N个变换和1个变换的结果相同. 分布式系统中的幂等性意味着用户针对同一操作发起的单个请求或多个请求的结果是一致的,并且不会因多次单击而导致错误结果. 最直观的示例是在付款时,当您单击付款时,由于网络或其他原因,这是异常的,但是已扣除了款项,您还没有时间将其退还给用户. 此时,用户单击付款,然后进行第二次扣减. 费用. 我了解,当重复数据时,幂等性是一项重复数据删除操作. Kafka使用全局ID来实现事务以确保幂等. 在非等幂应用程序中,不允许重复,或者无法进行等幂处理. 此时,您最多只能使用一次. 如果发生错误,请通过检查数据,回滚等来执行后续处理. (处理很麻烦,回滚事务需要时间. )

接下来是架构部分:

第一部分包括一些常用的建筑模式

第二部分是分布式系统架构

这部分最重要的部分是分散式分布式架构,最典型的是P2P

P2p最初是由Napster(一种听歌软件)发明的,其初始结构如图1所示.

云计算与分布式_分布式云计算_云计算 分布式存储

某些服务器用作中央注册服务器,以存储目录信息(例如资源及其映射). (只有索引表不存储数据,以避免服务器压力)

但是Napster并没有避免将服务器集中化,然后,被告在侵权之后就关闭了. 接下来,我们介绍一个更完整的Gnutella(eMule).

eMule的设计考虑了拥有中央服务器的缺点

每个节点都是等效的,但是通过这种方式,如果您不知道从哪个节点获取数据(如果您有中央集群,则可以转到中央集群以获取数据. )使用ping和返回pong进行网络发现和探索. (有点像路由的形式,有TTL和本地表缓存)有一种控制机制可以避免发生网络风暴. 由于周期性的洪水,系统效率相对较低.

上面是非结构化的P2P(节点之间没有特定的数据结构),存在很多问题,然后尝试结构化的P2P(编码). 还有混合P2P(BitTorrent).

第三部分体系结构和中间件.

中间件是应用程序系统和系统软件之间的一种软件. 它使用系统软件提供的基本服务(功能)来连接网络上的应用程序系统的各个部分或不同的应用程序以实现资源共享. 1.功能共享的目的.

第4部分分布式系统的自我管理. 减少人类参与. 自我配置,错误检测,自动优化等(云计算所需)


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-283567-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...