文章目录
- 1. 云计算的本质特征及其与分布式计算或并行计算的关系
- 2. 云计算技术体系结构分为哪几层?
- 3. 云计算三种服务类型(IaaS,PaaS和SaaS)
- 4. RPC执行的主要步骤。
- 5. RPC技术中存根(Stub)的作用。
- 6. RMI分布式应用程序基本构成。
- 7. 比较裸金属虚拟化、主机虚拟化和操作系统虚拟。
- 8. 分布式系统中数据分片与数据副本的作用。
- 9. 什么是分布式系统中的副本一致性问题?什么是分布式共识问题?两者之间有什么关系?
- 10. 副本控制采用强同步复制协议和异步复制协议时的数据读写流程。
- 11. Zookepper
- 12. Lease机制
- 13. Quorum(多数)机制
- 14. 如何保证分布式存储的一致性(3种)?
- 15. 两阶段提交协议,并比较两阶段提交协议与Paxos协议的相同与不同点
- 16. Vmware虚拟化产品中的虚拟网络、虚拟存储和虚拟机方案设计
- 17. 云计算平台Openstack的主要组件和及各组件的功能
- 18. 比较说明GFS、MapReduce、Chubby和Bigtable的系统结构、工作流程、使用元数据和容错机制特点。
- 19. 分别说明GFS、MapReduce、Chubby和Bigtable中Master节点的主要工作。
- 20. 分别说明GFS、MapReduce、Chubby和Bigtable中存在的不足之处。
- 21. MapReduce的运行模型,实现机制,举例分析(结合Hadoop程序实例)。
- 22. Chubby服务的定义与作用。
- 23. Bigtable的数据模型。
- 24. Bigtable的子表定位过程。
- 25. GFS和Bigtable管理容量计算。
1. 云计算的本质特征及其与分布式计算或并行计算的关系
其实云计算本质上是客户端-服务器模式,只是在服务器端通过分布式存储、虚拟化等技术提供了诸如IaaS、PaaS、SaaS的高可靠服务。分布式计算和并行计算:并行计算偏科学领域,偏单用户,单请求,在配置多处理机的服务器下处理。分布式计算偏多用户,多请求,涉及多台服务器多个计算单元的分布式处理。
2. 云计算技术体系结构分为哪几层?
SOA构建层:封装云计算能力成标准的Web Services服务,并纳入到SOA体系
管理中间件层:云计算的资源管理,并对众多应用任务进行调度,使资源能够高效、安全地为应用提供服务
物理资源层:计算机、存储器、网络设施、数据库和软件等
资源池层 :将大量相同类型的资源构成同构或接近同构的资源池
3. 云计算三种服务类型(IaaS,PaaS和SaaS)
第一层叫做IaaS (基础设施即服务)
举例:几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,才能让你的业务正常运行。
但现在可以租用IaaS公司提供的场外服务器,存储和网络硬件。这样一来,便大大的节省了维护成本和办公场地。
第二层就是所谓的PaaS (平台即服务)
举例: PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
第三层也就是所谓SaaS (软件即服务)
举例:生活中,几乎我们每一天都在接触SaaS云服务,比如:我们平时使用的苹果手机云服务,网页中的一些云服务等。
4. RPC执行的主要步骤。
- 调用者(客户端Client)以本地调用的方式发起调用;
- Client stub(客户端存根)收到调用后,负责将被调用的方法名、参数等打包编码成特定格式的能进行网络传输的消息体;
- Client stub将消息体通过网络发送给服务端;
- Server stub(服务端存根)收到通过网络接收到消息后按照相应格式进行拆包解码,获取方法名和参数;
- Server stub根据方法名和参数进行本地调用;
- 被调用者(Server)本地调用执行后将结果返回给server stub;
- Server stub将返回值打包编码成消息,并通过网络发送给客户端;
- Client stub收到消息后,进行拆包解码,返回给Client;
- Client得到本次RPC调用的最终结果。
5. RPC技术中存根(Stub)的作用。
Stub的主要功能是对要发送的参数进行marshal(可理解成一种打包操作)和对接受到的参数(或返回值)进行unmarshal(解包)
6. RMI分布式应用程序基本构成。
远程对象接口:规定客户程序与服务器程序的交互接口。
远程对象实现:为远程对象接口规定的每个方法提供具体实现。
服务程序:创建远程对象实现并注册。
客户程序:与终端用户交互,调用远程对象提供的服务。
7. 比较裸金属虚拟化、主机虚拟化和操作系统虚拟。
裸金属架构就是直接在硬件上面安装虚拟化软件,再在其上安装操作系统和应用,依赖虚拟层内核和服务器控制台进行管理。
主机虚拟化之再主机上直接提供虚拟化,虚拟出来的操作系统共享一个主机的系统内核和硬件资源。
操作系统层的虚拟化是操作系统内核直接提供的虚拟化,虚拟出的操作系统之间共享底层宿主机操作系统内核和底层的硬件资源。
8. 分布式系统中数据分片与数据副本的作用。
数据分片(Partition/Shard/)是指将数据分散到多个服务器来进行存储和处理,实现系统的水平扩展。
副本(replica/copy)指在分布式系统中为数据或服务提供的冗余。
9. 什么是分布式系统中的副本一致性问题?什么是分布式共识问题?两者之间有什么关系?
强一致性(strong consistency):任何时刻任何用户或节点都可以读到最近一次成功更新的副本数据。
最终一致性(eventual consistency):最终一致性要求一旦更新成功,各个副本上的数据最终将达到完全一致的状态,但达到完全一致状态所需要的时间不能保障。
弱一致性(week consistency):一旦某个更新成功,用户无法在一个确定时间内读到这次更新的值,且即使在某个副本上读到了新的值,也不能保证在其他副本上可以读到新的值。
共识问题:一个或多个节点提出一个请求值,利用共识算法批准其中一个值,并让所有节点对该结果达成一致意见。