分布式系统及云计算原理
Lora青蛙
主不在乎
展开
-
分布式云盘系统例题
题目:请设计一个类似于百度网盘的分布式云盘系统BPan,给出设计方案,包括:1.说明BPan满足CAP中的哪几个,并说明原因。2.列出BPan可能出现的故障及对应的解决方法。3.说明BPan采用的数据分布与副本策略、及采用的原因。4.给出BPan系统采用的共识算法,并说明采用该算法的原因。1.知识点:CAP分别指:一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)一致性:副本一致性,这里特指强一致性,强调的是数据正确。可原创 2020-12-30 17:05:29 · 3742 阅读 · 11 评论 -
简述TCP、UDP、Socket、远程过程调用RPC、远程方法调用RMI的理解
TCP:面向连接,可靠性好,基于字节流TCP的应用程序接口提供了进程对之间的双向流(two-way stream)抽象-相互通信的信息由没有消息边界的一连串数据项组成-双向流为生产者—消费者通信提供了构造成分UDP:非面向连接,可靠性差,基于数据报UDP的应用程序接口提供了消息传递(Message Passing)抽象-进程间通信的最简单形式-使得发送进程能够给一个接收进程传递一个消息-包含消息的独立的数据包称为数据报(datagram)Socket:独立于具体协议的网络编程接口,对TCP原创 2020-12-30 16:28:14 · 1180 阅读 · 1 评论 -
第8讲 数据分布与副本问题
数据分布数据分布方式:如何拆解分布式系统的数据班级划分人数均等策略3个班,每个班30人分数平衡策略分数范围在[x,y]之间的人按数据量分布数据量分布数据与具体的数据特征无关,而是将数据视为一个顺序增长的文件,并将这个文件按照某 一较为固定的大小划分为若干数据块(chunk) 。数据范围分布将数据按特征值的值域范围划分为不同的区间, 使得集群中每台(组)服务器处理不同区间的数据。哈希方式哈希方式是最常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与 机器中的机原创 2020-12-30 14:14:50 · 489 阅读 · 0 评论 -
第7讲 协调和共识
文章目录简介选举互斥共识简介分布式系统中的两类需要协调的问题-资源的互斥 哪个进程可以进入临界区-多方共识问题 一个或多个进程提议了一个值后,应达成一致意见两类协调方法中央协调者来协调-选举对等协商来协调选举许多分布式算法需要一个进程充当协调者、发起者或者其他特殊的角色。通常,由哪个进程充当这个特殊的角色并不重要,重要的是需要有一个来充当。基本概念-选举算法(election algorithm) 选择一个唯一的进程来扮演特定角色的算法-召集选举(call the electi原创 2020-12-30 13:57:11 · 299 阅读 · 0 评论 -
第6讲 时间和全局状态
时钟同步简介分布式系统中,时间一个重要的问题时间是我们想要精确度量的量很多算法依赖于时钟同步-维护分布式数据一致性-检查发送给服务器的请求的真实性-消除重复更新两个时钟的读数之间的瞬间不同称为时钟偏移(clock skew)时钟漂移是指单个时钟读数和名义上的完美的参考时钟之间的偏移漂移率(drift rate)是指参考时钟度量的每个单位时间内,在时钟和名义上完美的参考时钟之间的偏移量。同步时钟的Cristian方法Cristian算法的讨论:无法满足高精度时间要求Cristian算原创 2020-12-30 11:16:54 · 386 阅读 · 0 评论 -
第5讲 间接调用
5.1 简介间接通信:在分布式系统中实体通过中介者进行通信,没有发送者和接收者(们)之间的直接耦合注意:接收者可以是多个,很多间接通信范型明确支持一对多通信间接通信避免了直接耦合,使用中介有两个主要特性:空间解耦:发送者不知道也不需要知道接收者(们)的身份,反之亦然参与者可以被替换、更新、复制或迁移时间解耦:发送者和接收者(们)可以有独立的生命周期发送者和接收者(们)不需要同时存在才能通信在易变的环境下,发送者和接收者可以随时进入和离开间接系统常常用于预期会发生改变的分布式系统例如:原创 2020-12-29 17:05:09 · 444 阅读 · 0 评论 -
第4讲 远程调用
文章目录4.1 简介4.2 请求---应答协议4.3 远程过程调用4.4 远程方法调用4.1 简介远程过程调用范型-请求—应答协议,描述了一个基于消息传递的范型,支持在客户/服务器计算中遇到的消息双向传输-远程过程调用(RPC),将传统的过程调用模型扩展到分布式系统中。允许客户程序透明地调用在服务程序中的过程。-远程方法调用(RMI),基于对象的编程模型扩展,允许不用进程运行的对象通过其彼此通信。是对本地方法调用的扩展。4.2 请求—应答协议这种通信设计用于支持典型客户/服务器交互中任务和信息原创 2020-12-29 16:54:05 · 247 阅读 · 0 评论 -
第3讲 进程间通信
文章目录3.1 简介3.2 互联网协议的API3.3 外部数据表示和编码3.4 组播通信3.5 网络虚拟化:覆盖网络3.1 简介UDP的应用程序接口提供了消息传递(Message Passing)抽象-进程间通信的最简单形式-使得发送进程能够给一个接收进程传递一个消息-包含消息的独立的数据包称为数据报(datagram)TCP的应用程序接口提供了进程对之间的双向流(two-way stream)抽象-相互通信的信息由没有消息边界的一连串数据项组成-双向流为生产者—消费者通信提供了构造成分3原创 2020-12-29 16:41:02 · 386 阅读 · 0 评论 -
第2讲 系统模型
文章目录2.1 简介2.2 物理模型2.3 体系结构模型2.4 基础模型2.1 简介不同类型的分布式系统具有一些重要的基本特征,也有公共的设计问题分布式系统的困难和威胁:使用模式的多样性 系统环境的多样性 内部问题 外部威胁物理模型-描述系统的最显式的方法,系统的硬件组成体系结构模型-描述系统的计算元素执行的计算和通讯任务基础模型-采用抽象的观点描述分布式系统的某个方面-交互模型、故障模型和安全模型2.2 物理模型物理模型是从计算机和所用网络技术的特定细节中抽象出来的分布式系统底层硬原创 2020-12-27 16:31:36 · 1326 阅读 · 0 评论 -
第1讲 分布式系统的特征
文章目录1.1 分布式系统简介1.2 分布式系统的例子1.3 分布式系统的趋势1.4 资源共享1.5 挑战1.6 实例研究:万维网1.1 分布式系统简介计算机系统无处不在-互联网只是其中之一-移动电话网、协作网、企业网、校园网、家庭网、车内网-所有这些可以单独使用,又可以相互结合,他们具有相同的本质特征分布式系统定义:一个其硬件或软件组件分布在连网的计算机上,组件之间通过消息进行通信或动作协调的系统。显著的特征:并发 缺乏全局时钟 故障独立性构造分布式系统的主要动力之一是来源于资源共享协作原创 2020-12-27 15:53:43 · 472 阅读 · 0 评论