ToB企服应用市场:ToB评测及商务社交产业平台
标题:
云计算期末复习(2024HENU)
[打印本页]
作者:
拉不拉稀肚拉稀
时间:
2024-6-23 23:05
标题:
云计算期末复习(2024HENU)
题型分值
选择15×2 30
填空5×2 10
名词解释5×4 20
简答3×5 15
综合应用1×25 25
第一章
:云计算概述
1
、
云计算的定义
云计算是一种模型,这个模型可以方便地通过网络访问一个可设置的计算资源(比方网络、服务器、存储装备、应用程序以及服务等)的公共集。这些资源可以被快速提供并发布,同时最小化管理成本以及服务供应商的干预。
2、云计算的优势
按需供应的无穷计算资源;无须事先费钱就能使用的IT架构;基于短期的按需付费的资源使用;单机难以提供的事务处理情况。
3、云计算的公共特征
①弹性伸缩②快速部署③资源抽象④按用量收费⑤宽带访问
4、云计算的分类
按照部署方式分为:①公共云②私有云③社区云④混淆云⑤行业云⑥其他云范例。
按照服务范例分为:①基础办法即服务②平台即服务③软件即服务
5、假造化
假造化(Virtualization)是为某些事物创造的假造版本,比方硬件平台、计算机系统、存储装备和网络资源等。其目的是为了摆脱现实情况下物理资源所具有的各种限定,即“假造化是资源的逻辑表示,它不受物理限定的约束。”
云计算所涉及的假造化,是颠末发展之后的更高层次的假造化,是指全部的资源——计算、存储、应用和网络装备等连接在一起,由云计算平台进行管理调度。
第二章:分布式计算
1
、
分布式计算的定义及优势
中科院定义:分布式计算就是在两个或多个软件相互共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。
分布式计算比起别的算法具有以下几个长处:
①稀有资源可以共享。
②通过分布式计算可以在多台计算机上平衡计算负载。
③可以把程序放在最适合运行它的计算机上。
此中,共享稀有资源和平衡负载是计算机分布式计算的焦点思想之一。
2、ACID原则
ACDI是数据库事务正常实验的四个原则,分别指原子性、一致性、独立性及恒久性。
原子性:原子性很轻易理解,也就是说事务里的全部操纵要么全部做完,要么都不做,事务乐成的条件是事务里的全部操纵都乐成,只要有一个操纵失败,整个事务就失败,须要回滚。
一致性:一致性也比力轻易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
独立性:独立性是指并发的事务之间不会相互影响,假如一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。
恒久性:恒久性是指一旦事务提交后,它所做的修改将会永世保存在数据库上,纵然出现宕机也不会丢失。
ACID原则办理了数据的一致性、系统的可靠性等关键题目,为关系数据库技能的成熟以及在不同领域的大规模应用创造了须要的条件。
3、CAP理论
CAP理论是指一个分布式系统最多只能同时满意一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。
一致性:更新操纵乐成并返回客户端完成后,全部节点在同一时间的数据完全一致
可用性:服务一直可用,而且是在正常的响应时间内。
分区容错性:指分布式系统在遇到某节点或网络分区故障的时候,仍然可以或许对外提供满意一致性和可用性的服务。
CA without P以及CP without A可以,AP without C不可以。
4、BASE理论
BASE理论是对CAP理论的延伸,焦点思想是纵然无法做到强一致性,但应用可以采用适合的方式到达最终一致性。BASE是指根本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency)。
根本可用:指分布式系统在出现故障的时候,答应损失部分可用性,即保证焦点可用。
软状态:指答应系统存在中心状态,而该中心状态不会影响系统整体可用性。
最终一致性:指系统中的全部数据副本颠末一定时间后,最终可以或许到达一致的状态。
最终一致性的变体:Causal consistency(因果一致性)、Read-your-writes consistency、Session consistency、Monotonic read consistency、Monotonic write consistency。
5、如何理解最终一致性?
最终一致性可概括为:过程松,结果紧,最闭幕果必须保持一致性即可。最终一致性就是“等会儿就一致”,早晚会一致的。使用最终一致性的关键就是想方想法让用户“等会儿”。
6、分布式系统的特性
容错性、高可扩展性、开放性、并发处理能力、透明性。
7、分布式存储系统
分布式存储系统大抵可分为5个子方向:布局化存储、非布局化存储、半布局化存储、In-memory 存储及NewSQL。
布局化存储强调:布局化的数据(比方关系表);强一致性(比方银行系统,电商系统等场景);随机访问(索引、增删查改、SQL)
非布局化存储强调:高可扩展性,典型的系统就是分布式文件系统
半布局化存储:为相识决结非布局化存储系统随机访问性能差的题目
8、并行计算和分布式计算的比力
几种典型的分布式计算系统:传统基于消息的系统、 MapReduce家族系统、图计算系统、基于状态的系统、实时流处理系统
9、分布式资源管理系统
资源统一管理和调度平台具有以下特点:支持多种计算框架、扩展性、容错性、高资源利用率、细粒度的资源分配。
10、典型的分布式系统
网格系统、P2P系统、透明计算、区块链系统。
第三章:云计算架构
1
、
云数据中央的两种模式
传统模式、基于集装箱的数据中央。
2、云的工作负载模式
模式1:时开时停模式。模式2:用量迅速增长模式。模式3:瞬时暴涨模式。模式4:周期性增减模式。
3、云计算的架构
中央集权架构、客户机/服务器(C/S)架构、中心层架构、浏览器/服务器(B/S)架构、C/S与B/S混淆架构、面向服务的架构。
4、云栈和云体
云栈:云栈又称云平台,是在云上面建造的运行情况。它可以或许支持应用程序的发布、运行、监控、调度、伸缩,并为应用程序提供辅助服务的机制,如访问控制和权限管理等。
三层云栈架构:IaaS、PaaS、SaaS,分别对应基础办法即服务、平台服务、软件服务。此中基础办法即服务可以称为效用计算,平台即服务可称为弹性计算,软件即服务可称为随需应用。
四层、五层云栈架构:
云体:云体是云计算的物质基础,是云计算所用到的资源集合。云体就是数据中央。
假如用一个短语来描述云计算,那就是:IT即服务。云计算的本质就是IT作为服务涵盖了基础办法即服务、平台即服务、软件即服务或任何X即服务。
5、软件定义的数据中央
数据中央(Data Center)是数据会合存储、计算、交换的中央。
传统模式的数据中央存在的题目:过多的机器、机器的利用率过低、应用迁移太困难、存储需求增长得太快。
软件定义计算,软件定义存储,软件定义网络。
6、OpenStack
*OpenStack提供了一个通用的平台来控制云计算里面的计算(服务器)、存储和网络,乃至应用资源。
*openstack作用:①充实利用物理服务器、假造服务器、网络和存储系统资源;②通过租户、配额和用户角色高效管理云资源;③提供一个对底层实现透明的通用的资源控制接口。
*
OpenStack组件功能
①计算(Compute):Nova。管理假造机资源,包括CPU、内存、磁盘和网络接口。
②网络:Neutron。提供假造机网络接口资源,包括IP寻址、路由和软件定义网络(SDN)。
③对象存储(Object Storage):Swift。提供可通过RESTful API访问的对象存储。
④块存储(Block Storage):Cinder。为假造机提供块(传统磁盘)存储。
⑤身份认证服务:Keystone。为OpenStack组件提供基于角色的访问控制,提供授权服务。
⑥镜像服务:Glance。管理假造机磁盘镜像,为假造机和快照(备份)服务提供镜像。
⑦仪表盘(Dashboard):Horizon。为OpenStack提供基于Web的图形界面。
⑧计量服务(Telemetry):Ceilometer。会合为OpenStack各个组件收集计量和监控数据。
⑨编排服务(Orchestration):Heat。为OpenStack情况提供基于模板的云应用编排服务。
第四章:假造化技能
1、假造化
*定义:在计算机科学领域中,假造化代表着对计算资源的抽象,而不仅仅局限于假造机的概念。
*分类:服务器假造化、网络假造化、桌面假造化、软件定义的存储
2、服务器假造化
*服务器假造化需具有的特性:多实例、隔离性、封装性、高性能
*分类:全假造化、半假造化、硬件辅助假造化。
*须要假造化的物理资源可以分为三大类:计算资源(CPU、内存)、存储资源和网络资源。
*
全假造化
:假造化软件层将操纵系统的指令翻译并将结果缓存供之后使用,而用户级指令无须修改就可以运行,具有和物理机一样的实验速度。
*
半假造化
:半假造化指的是假造机系统和假造化软件层通过交互来改善性能和服从。
半假造化涉及修改操纵系统内核来将不可假造化的指令替换为可直接与假造化层交互的超级调用(hypercalls)。
*
全假造化和半假造化的比力
:①全假造化时未经修改的假造机系统不知道自身被假造化,系统敏感的调用陷入假造化层后再进行二进制翻译。
②半假造化的价值在于更低的假造化代价,但是性能优势根据不同的工作负载有很大差异。
③半假造化不支持未经修改的操纵系统(如Windows),因此它的兼容性和可移植性较差。由于半假造化须要系统内核的深度修改,在生产情况中,技能支持和维护上会有很大的题目。
*硬件辅助假造化:使用CPU相应状态位捕捉客户操纵系统的请求。第一代技能包括Intel的VT-x和AMD的AMD-V,两者都针对特权指令为CPU添加了一个实验模式,即VMM运行在一个新增的根模式下。
3、商用假造机技能(KVM:内核假造机)
Xen假造机技能、KVM假造机技能、Hyper-V假造化技能、VMware Workstation
第五章:分布式存储
1、分布式存储
*分布式存储系统定义:分布式存储系统是将为数浩繁的普通计算机或服务器通过网络进行连接,同时对外提供一个整体的存储服务。
*分布式存储系统的特性:高性能、可扩展、低成本、易用性
*
数据范例的分类
:非布局化数据、布局化数据、半布局化数据。
*
分布式存储系统的分类
:分布式文件系统(存储非布局化数据)、分布式键值系统(简朴的半布局化数据)、分布式表系统(半布局化数据)、分布式数据库(大规模的布局化数据)。
*分布式存储20世纪末的代表: SAN(Storage Area Network)、NAS(Network Attached Storage)、GPFS (General Parallel File System)、GFS (Google File System)、HDFS
2、SAN和NAS的区别
①SAN存储装备通过光纤连接,而NAS存储装备通过TCP/IP连接。
②SAN存储装备访问数据块,而NAS存储装备访问单个文件。
③SAN存储装备连接多个存储装备,而NAS存储装备作为单个专用装备运行。
3、ChunckServer如何应对热点?(增补)
4、文件存储
单机文件系统、网络文件系统、并行文件系统、分布式文件系统、高通量文件系统
5、单机存储系统
存储系统的数据模型:文件、关系以及键值模型
6、分布式存储系统
*根本概念:非常,超时,一致性,权衡指标:性能、可用性、一致性、可扩展性
*性能分析,数据分布,复制,容错,可扩展性,分布式协议
第六章:云计算网络
1、根本概念
*计算机网络:通俗地讲,计算机网络指的是为多个计算装备提供信息交换支持的系统。
*覆盖网络:覆盖网络是一种在原有网络基础上构建网络连接抽象及管理的技能。覆盖网络中的节点可以被认为是通过假造或逻辑链接相连,此中每个链接对应一条路径(Path)。
*大二层网络:在原有数据中央网络互连的基础上,构建一张可以答应二层协议通讯的覆盖网络。如许的覆盖网络称为大二层网络。
*租户网络:租户向云服务供应商租用的假造化资源除了包括计算和存储资源外,通常也会包括假造化的网络系统,被称为租户网络。
2、隧道技能(覆盖网络部分)
隧道技能是一种通过互联网络基础办法在网络之间转达数据的方式
。使用隧道转达的数据可以是不同协议的数据帧或包,隧道协议将这些别的协议的数据帧或包重新封装在新的包头中发送,被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由,一旦到达网络终点,数据将被解包并转发到最终目的地。整个转达过程中,被封装的数据包在公共互联网络上转达时所颠末的逻辑路径称为隧道。
简言之,隧道技能是指包括数据封装,传输息争包在内的全过程
。
在物理天下中,隧道是一种跨越通常无法跨越的地形或边界的方法。同样,在网络中,隧道是一种使用网络不支持的协议在该网络中传输数据的方法。
隧道的工作原理是对数据包进行封装:将数据包包装在其他数据包内
。(数据包是小块的数据,可以在目的地重新组合成一个大文件)。
隧道技能经常用于假造专用网络 (VPN)。它还可以在网络之间建立高效和安全的连接,从而使用本不受支持的网络协议,并在某些情况下答应用户绕过防火墙。
3、GRE(覆盖网络部分)
通用路由封装协议(GRE)是一种对不同网络层协议数据包进行封装,通过IP路由的隧道协议,其标准定义于RFC 2784中。
GRE的实质是创建一个类似于假造专用网络(VPN)的专用点对点网络连接,通过在外部IP数据包内封装有效载荷(即须要转到达目的网络的内部数据包)来工作。
报文在GRE隧道中传输包括封装息争封装两个过程。
4、GRE报文格式
①搭客协议:封装前的报文称为净荷,封装前的报文协议称为搭客协议。
②封装协议:GRE Header是由封装协议完成并填充的,封装协议也称为运载协议。
③传输协议:负责对封装后的报文进行转发的协议称为传输协议。
5、对称加密和非对称加密的优缺点
6、软件定义网络SDN的特点
①控制平面与数据平面分离 ②开放的可编程接口 ③会合化的网络控制 ④网络业务的自动化应用程序控制。
7、网络功能假造化NFV
*定义:是一种通过IT假造化技能将网络节点功能假造为软件模块的网络架构,这些软件模块可以按照业务流连接起来,共同为企业提供通佩服务。
8、SDN和NFV的区别
①SDN跟NFV最明显的区别是,SDN处理的是OSI模型中的2-3层,NFV处理的是4-7。
②SDN主要是优化网络基础办法架构,比如以太网交换机,路由器和无线网络等。
③NFV主要是优化网络的功能,比如负载均衡,防火墙,WAN网优化控制器等。
第七章:轻量级假造化
1、容器的本质
Docker容器本质上是宿主机上的一个进程,通过namespace实现了资源隔离,通过cgroups实现了资源限定,通过写时复制技能实现了高效的文件操纵。
2、容器技能分析
*容器
是轻量级的操纵系统级假造化,可以在一个资源隔离的进程中运行应用及其依赖项。
运行应用程序所必须的组件都将打包成一个镜像并可以复用,运行在一个隔离情况中,并且不会共享宿主机的内存、CPU 以及磁盘,这就保证了容器内进程不能监控容器外的任何进程。
在Linux中,容器技能是一种进程隔离的技能,应用可以运行在一个个相互隔离的容器中,与假造机相同的是,可以为这些容器设置计算资源限定,挂载存储,连接网络,而与假造机不同的是,这些应用运行时共用着一个Kernel。
*容器与传统假造机的对比
假造机是“重量级”的:通常包罗整个操纵系统及其应用程序,同时也须要运行一个 hypervisor 来控制假造机,镜像大小在10G量级,部署和启动须要较长时间。
容器是“轻量级”的,镜像大小在100M 量级,可以在秒级启动。
容器技能与假造机技能并不互斥,云计算情况中容器一样平常运行在假造机中。
*容器技能优势
简化部署:应用打包成单一地址访问、Registry存储、通过单一下令就可以部署完成的组件。
快速启动:容器技能对操纵系统的资源进行抽象而非对硬件资源进假造化,打包好的服务可以快速启动。
服务组合:采用容器的方式进行部署,整个系统会变得易于组合。
易于迁移:答应用户对工作负载进行迁移,克制局限于单一的平台提供商。
3、Docker根本概念
*镜像(image):就是一堆只读层(read-only layer)的统一视角。
*堆栈(repository):是会合存放镜像文件的场所,官方堆栈 hub.docker.com
*容器(container):容器是从镜像创建的运行实例,它可以被启动、开始、停止、删除。
每个容器都是相互隔离的、保证安全的平台,可以把容器看做是一个独立的 Linux 情况和运行在此中的应用程序。
4、Docker的使用
docker pull从堆栈获取所须要的镜像
使用示例:docker pull centos:7
docker images列出了全部镜像
docker create <image-id> 创建容器
docker start <container-id> 启动容器
docker run <image-id> 创建容器,是docker create和docker start两个下令的组合
docker ps查看容器列表
docker exec <container-id> <cmd> 在容器中实验新下令
docker stop <container-id> 停止容器
docker rm <container-id> 删除容器
docker rmi <image-id> 删除镜像
Docker 进程相关下令
l 启动docker服务:
systemctl start docker
l 停止docker服务:
systemctl stop docker
l 重启docker服务:
systemctl restart docker
l 查看docker服务状态:
systemctl status docker
l 设置开机启动docker服务:
systemctl enable docker
第八章:云原生应用的概念及发展
1、云原生简介
云原生的主旨是构建运行在云端的应用程序,致力于使应用程序可以或许最大限度地利用云计算技能特性的优势,提供更加优质的应用服务。云原生也是一种构建和运行应用程序的方法,它充实利用了云计算的优势,重点关注如何在云计算交付模式下创建和部署应用程序。
云原生应用应该具备以下几个关键词:敏捷,可靠,高弹性,易扩展,故障隔离保护,不中断业务持续更新。
2、云原生的内容
云原生是面向“云”设计的应用,因此技能部分依赖于传统云计算的三层概念,即基础办法即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。
包括的内容:①敏捷基础办法 ②持续交付 ③DevOps ④微服务
3、什么是持续集成与持续交付?
持续集成是指每当开发人员提交了一次改动,就立即进行构建、自动化测试,确保业务应用和服务能符合预期。
持续交付是软件发布的能力,在持续集成完成之后,可以或许提供到预发布之类系统上,到达生产情况的条件。
4、云原生归纳
DevOps、持续交付对应更快的上线速度,即敏捷性;
微服务对应可扩展性及故障可规复性;
敏捷基础办法实现了扩展能力的资源层支持。
5、云原生12要素
①一份代码库与多份部署
②显式声明依赖关系
③在情况中存储设置
④把后端服务看成附加资源
⑤严酷分离构建和运行
⑥以一个或多个无状态进程运行应用
⑦通过端口绑定提供服务
⑧通过进程模型进行扩展
⑨快速启动和优雅停止可最大化健壮性
⑩尽可能保持开发与预发布线上情况相同
⑪把日志看成事件流
⑫背景管理任务看成一次性进程运行
6、云原生应用开发原则
*原则1:云服务优先计谋
描述:在评估技能办理方案中的服务或组件时,起首要考察现在市面上是否有可用的云服务功能,并优先考虑使用最适适用户需求的云服务。
理由:将须要自己负责全新开发的软件模块数量降到最低、最合理水平。
*原则2:基础办法即代码
描述:以处理应用程序代码相同的方式来管理基础办法设置以及工作流的定义。
理由:通过API的方式来构建情况,提供管理和实验运行情况工作流的工具,这使得情况设置可以视为软件功能的一部分。
*原则3:敏捷交付
描述:在交付过程的各个阶段争取敏捷,包括开发前的项目启动和计划阶段,以及开发后发布管理和运维管理阶段。
理由:敏捷软件开发过程通常能使产品更快地投入生产,但假如开发过程控制过于死板,项目开发就无法敏捷,只有力图各个阶段保持敏捷,才可以最大限度地提高效益。
*原则4:自动化交付原则
描述:力求在开发运维过程中做到从构建到发布的全自动化。
理由:实现软件构建、情况准备、测试和部署的自动化能力可以使得产品在加快市场化的过程中占据绝对的优势。
*原则5:基于服务架构
描述:必须按照既定的项目目的和渴望的特点来遵循各种形式的基于服务的体系布局(SBA)。
理由:全部形式的基于服务的体系布局都有其长处,应该加以利用。固然在选择一种具体的形式时须要权衡,但应该考虑和评估各种服务形式,为给定的办理方案确定最合适的架构方法。
*原则6:12要素应用
描述:遵循最佳实践(如12要素应用原则),开发云原生应用程序。
理由:一些组织多年来一直致力于开发云原生应用程序,并开始记录最佳实践,须要吸取别人的教训,并在得当的时候采取最佳作法。
7、Kubernetes的根本概念
*Cluster:Kubernetes维护一个集群,Docker的容器运行于其上。这个集群可以运维在任何云和Bare Metal物理机上。
*Master:Master节点包罗apiserver、controller-manager、sheduler等焦点组件(经常也将etcd部署于此中)。
*Node:Kubernetes采用Master-Slaves方式部署,单独一台Slave机器称为一个Node(从前叫Minion)。
*Pod:Kubernetes的最小管理单位,用于控制创建、重启、伸缩一组功能相近、共享磁盘的Docker容器。
*Replication Controller(RC):管理其下控制的Pod的生命周期,保证指定命量(replicas)的Pod正常运行。
*Service:可用作服务发现,类似于LoadBalancer,通过Selectors为一组Pod提供对外的接口。
*Label:K/V键值对,用来标志Kubernetes组件的类别(比方标志一组Pod是frontServices,另一组是backServices)。Label对于Kubernete的伸缩调度非常紧张。
Kubernetes现在已经成为容器编排调度的现实标准,Kubernetes 是云原生哲学的体现,通过容器技能和抽象的IaaS接口,屏蔽了底层基础办法的细节和差异,可实现多情况部署并在多情况之间机动迁移。
Kubernetes推出以来,它已被移植到Azure、DC/OS以及几乎全部公共云平台(AWS例外)。
Kubernetes提供高度的互操纵性,以及自我修复、自动升级回滚以及存储编排。
Kubernetes擅长自动修复题目,这方面做得很好,以至于用户可能都没发现容器崩溃过。
8、容器编排
*什么是容器编排(Container Orchestration)
现代应用(云应用)一样平常由容器化的单独组件(通常称为微服务)组成,且须按调用关系在网络级别进行组织,以使其可以或许按照设计布局运行。以这种方法对多个容器进行组织的流程即称为容器编排。
*容器编排的主要任务
让用户控制容器启动和停止的时间、将其组合到集群中,以及协调应用组合的流程。
答应用户引导容器部署与自动更新、运行状态监控以及故障转移等。
*常见的开源容器编排引擎
Docker swarm mode、Kubernetes、Mesosphere Marathon
9、
Kubernetes工作原理
*Pod
Pod 是一组容器和卷的集合,同一个Pod里的容器共享同一个网络定名空间,可以使用 localhost 相互通讯。
k8s 会为每一个 pod 分配一个 IP 地址,称之为 Pod IP 。k8s 要求底层网络支持集群内任意两个 Pod 之间的网络通讯。
Pod 有两种类范例:普通的 Pod 和静态 Pod(Static Pod):
普通的 Pod:创建后会放入 etcd中存储,随后会被 Master 调度到某个具体的 Node 上面运行。
静态 Pod:不会存放到 etcd 中,而是存放在某个具体的 Node 上的一个具体文件中,并且只在此 Node 上面启动运行。
*Deployment
Deployment 的引入更好的办理了 Pod 的编排题目,Deployment 内部使用 RS 来实现,可以把 Deployment 理解为 RC 的升级版本。
Pod 的创建、调度、绑定到节点及在目的节点上面启动都须要一定的时间,是一个连续厘革的“部署过程”,使用 Deployment 来描述这个过程非常合适。
*Service
Service 是定义一系列 Pod 以及访问这些 Pod 的计谋的一层抽象。Service 通过 Label 找到 Pod 组。k8s 里的每个 Service 可以理解为我们微服务架构中的一个“微服务”,每个 Service 都有唯一的 Cluster IP 及名字,名字由开发者定义,服务间的调用可以直接调用 Cluster IP+端口 或者服务名+端口的方式调用。
ServiceTypes 答应指定一个须要的范例的 Service,默认是 ClusterIP 范例。
说明:基于老师所画重点整理,部分地方参加了个人理解。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4