🎓 总站 🏠 本课目录 01 概论 02 虚拟化 03 云原生 04 K8s基础 05 K8s进阶 06 消息队列 07 分布式存储 08 分布式文件系统 09 并行编程 10 Spark ⭐ 期末复习
云计算技术 · 期末复习大纲

期末复习知识大纲

基于官方《云计算技术课程复习大纲》整理,覆盖 12 次课全部考点。SCAI004712 · 2学分32学时。⭐ 为重点章节,可点击跳转对应讲义深入。

📚 复习进度
0%

📌使用说明

本页按12 次课组织,每次课列出必须掌握的知识点。复习建议:先通览考点→对⭐重点跳转讲义深入→用底部题库自测。

课程信息:SCAI004712 · 计算机科学与技术/软件工程 · 大三 · 2学分/32学时(16次课×2学时)。

1云计算概论 ⭐ → 讲义

  • 大数据:定义;4V+1C 特征(Volume 数据量大 / Velocity 快速 / Variety 多样 / Value 价值密度低 / Complexity 复杂度高)⭐。
  • 云计算定义与本质:NIST 定义 ⭐;五大本质特征(按需自服务、弹性扩展、资源池化、网络访问、按量计费)⭐;数据中心选址(电力与制冷成本)。
  • 服务模式:IaaS / PaaS / SaaS(房屋类比、控制等级、典型产品)⭐;三种交付模型对比;新兴 FaaS / CaaS。
  • 部署模式:公有云、社区云、私有云、混合云(优缺点与适用场景)⭐。
  • 核心技术栈:计算(虚拟化/容器)、存储(分布式/对象)、网络(SDN/负载均衡)。
服务模式对比
模式提供用户管理典型产品
IaaSVM/存储/网络OS+中间件+应用AWS EC2/阿里云ECS
PaaS运行环境/数据库应用+数据Heroku/GAE/云数据库
SaaS完整软件仅使用Google Docs/Office365
部署模式对比
模式所有者优势劣势
公有云第三方运营弹性/低成本数据安全顾虑
私有云企业自建安全可控成本高/弹性差
混合云混合兼顾安全与弹性架构复杂
社区云同类组织共享成本分摊规模有限
高频问法:IaaS/PaaS/SaaS 举例区分 → 虚拟机(IaaS)、云数据库(PaaS)、在线文档(SaaS)。大数据与云计算的关系 → 云计算是处理大数据的手段,大数据是云计算的典型应用。

2虚拟化技术与Docker ⭐ → 讲义

  • 虚拟化基础:定义与优势。虚拟化=把物理资源抽象成多个逻辑资源,优势是资源隔离、提高利用率、便于迁移和快照。
  • 虚拟化原理:软件虚拟化 vs 硬件虚拟化(VMM 截获翻译 vs VT-x/AMD-v)⭐;Hypervisor/VMM 职责;寄居架构 vs 裸机架构;CPU 虚拟化(指令分级、VT-x 根/非根模式);内存虚拟化(影子页表 SPT、扩展页表 EPT)⭐。
  • 容器化动机:虚拟化的局限性 → 容器化。VM 启动慢、资源开销大(每个VM带完整OS),容器共享宿主内核、秒级启动、占用小,解决轻量级隔离需求。
  • 容器 vs 虚拟机 ⭐:OS 依赖、启动速度、空间、性能、隔离级别(VM 强隔离重,容器共享内核轻)。
  • Docker 架构:Client / Daemon / Registry。
  • Linux 内核基石 ⭐:Namespace(进程隔离)+ Cgroup(资源限制)。
  • 镜像与容器:分层结构、联合文件系统(UnionFS)。
VM vs 容器详细对比
维度虚拟机(VM)容器(Container)
隔离层Hypervisor + 完整Guest OS共享宿主OS内核
启动时间分钟级秒级/毫秒级
镜像大小GB级MB级
性能有虚拟化开销(~5-10%)接近原生
隔离性强(硬件级)弱(进程级)
密度单机十几个单机数百个
内核技术VT-x / EPTNamespace + Cgroup
Hypervisor两类架构
类型位置特点典型产品
Type-1(裸机)直接运行在硬件上性能好/开销小VMware ESXi / Xen / KVM
Type-2(寄居)运行在宿主OS上安装方便/性能略差VirtualBox / VMware Workstation
高频问法:容器为什么比VM快 → 不需要启动完整OS,共享宿主内核。EPT vs SPT → EPT硬件两级页表,自动翻译无需VMM介入,性能优于SPT(软件维护影子页表)。

3云原生基础与微服务 ⭐ → 讲义

  • 云原生概念:CNCF 定义与四大核心要素 ⭐(容器化、微服务、声明式 API、不可变基础设施);云原生 vs 传统开发;不可变基础设施。
  • 微服务核心特征 ⭐:单一职责、独立部署、技术异构、去中心化数据。
  • 服务拆分策略:DDD 限界上下文、数据边界、变更频率。
  • 通信方式:同步(REST、gRPC)与异步(消息队列)。
  • 服务发现与注册:客户端发现 vs 服务端发现;etcd / Consul / ZooKeeper / Nacos。
  • 负载均衡:策略与 L4/L7 层次。L4(传输层,按IP/端口转发,如Nginx TCP)、L7(应用层,按HTTP内容路由,如Ingress)。策略:轮询/最少连接/IP哈希。
  • 容错设计 ⭐:熔断器三态(Closed / Open / Half-Open)、限流、降级。
  • API 网关。微服务统一入口,负责请求路由、认证鉴权、限流熔断、协议转换、日志监控,屏蔽内部服务复杂性。
  • Docker Compose:services/networks/volumes/configs/secrets;服务发现。
单体 vs 微服务
维度单体架构微服务架构
部署整体打包部署服务独立部署
扩展整体水平扩展按需独立扩展
技术栈统一可异构(每服务选最优)
数据共享数据库去中心化(每服务独立数据)
复杂度代码内部耦合分布式通信复杂
容错单点故障影响全局服务隔离,局部故障
熔断器三态流转:Closed(正常) →失败率超阈值→ Open(熔断,快速失败) →超时窗口到期→ Half-Open(放行少量探测) →成功→ Closed / →失败→ Open。
高频问法:服务发现两种模式 → 客户端发现(客户端查注册中心选实例,如Eureka) vs 服务端发现(通过负载均衡器路由,如K8s Service)。API网关的职责 → 请求路由/认证鉴权/限流熔断/协议转换/日志监控。

4Kubernetes基础 ⭐ → 讲义

  • K8s 架构 ⭐:Master-Worker 模型。Master(kube-apiserver、etcd、controller-manager、scheduler);Worker(kubelet、kube-proxy、Container Runtime)。
  • 声明式 API:YAML 四大字段(apiVersion、kind、metadata、spec)⭐;Namespace 逻辑隔离。
  • Pod ⭐:最小调度单元;共享机制(网络、存储);资源配额(requests/limits);生命周期与 Init Containers;探针(Liveness、Readiness、Startup);QoS 等级(Guaranteed/Burstable/BestEffort)。
  • Service ⭐:Labels & Selectors;三种类型(ClusterIP、NodePort、LoadBalancer);DNS(CoreDNS);Ingress 七层路由。
  • Deployment ⭐:维持副本数、滚动更新(maxSurge/maxUnavailable)、版本回滚;Deployment→ReplicaSet→Pod 三层;HPA 水平自动扩缩容。
  • kubectl 常用命令。kubectl get/describe/apply/delete/logs/exec/scale/rollout,是K8s管理入口。

5K8s深入与服务网格 ⭐ → 讲义

  • 调度 ⭐:Requests & Limits;调度器(预选 Filtering / 优选 Scoring);节点亲和性、Pod 亲和性/反亲和性;污点与容忍(Taints & Tolerations,三种 Effect);ResourceQuota 与 LimitRange。
  • StatefulSet ⭐:vs Deployment(稳定标识、独立存储、有序启停);Headless Service;VolumeClaimTemplates。
  • ConfigMap 与 Secret:ConfigMap 非敏感配置(环境变量/卷挂载/热更新);Secret 敏感信息(Base64、tmpfs、类型)。
  • 持久化存储 ⭐:三层架构(PV / PVC / StorageClass);访问模式(RWO/ROX/RWX)与回收策略(Retain/Delete);静态 vs 动态供给。
  • Service Mesh 与 Istio ⭐:通信逻辑下沉、语言无关;Istio 架构(控制面 istiod / 数据面 Envoy);Sidecar 代理(Envoy 自动注入);流量管理(VirtualService、DestinationRule);安全 mTLS;金丝雀发布(Canary Release)。

6消息队列与事件驱动 ⭐ → 讲义

  • 消息队列作用 ⭐:异步解耦、流量削峰、最终一致性。
  • 消息模型:点对点(Queue)与发布/订阅(Topic)⭐。
  • 投递语义 ⭐:At Most Once、At Least Once、Exactly Once 与幂等性。
  • 消息顺序性:单分区/单队列有序,顺序性与并行性权衡。
  • Kafka ⭐:架构(Broker、Topic、Partition、Consumer Group);Partition 与追加写、Offset;流处理 vs 批处理。
  • RabbitMQ ⭐:AMQP 协议;核心概念(Exchange、Queue、Binding、Routing Key);三种 Exchange(Direct、Fanout、Topic);ACK 与持久化;死信队列(DLQ)与延迟消息。
Kafka vs RabbitMQ
维度KafkaRabbitMQ
协议自定义二进制协议AMQP
模型发布/订阅(Pull拉取)队列+Exchange(Push推送)
吞吐量极高(百万/秒)中等(万级/秒)
消息持久化磁盘追加写,保留时间可配ACK后可删除
顺序性分区内有序单队列有序
消费方式Consumer Group+Offset轮询分发给消费者
适用场景日志收集/流处理/大数据业务解耦/任务队列/RPC
投递语义对比
语义含义实现风险
At Most Once最多一次不重试可能丢消息
At Least Once至少一次重试+ACK可能重复
Exactly Once恰好一次幂等+事务实现复杂/性能低
高频问法:Kafka为什么吞吐量高 → 追加写磁盘(顺序IO)+零拷贝+分区并行。死信队列(DLQ)作用 → 收集无法正常消费的消息,防止消息丢失,便于后续排查处理。

7分布式存储系统 ⭐ → 讲义

  • CAP 定理 ⭐⭐:一致性(C)、可用性(A)、分区容忍性(P)三者权衡,分布式系统只能满足其二(通常保 CP 或 AP)。
  • BASE 理论 ⭐:基本可用、软状态、最终一致性(CAP 的 AP 实践)。
  • 数据分片 ⭐:哈希分片(一致性哈希、虚拟节点);范围分片。
  • 数据复制:向量时钟。分布式系统中追踪事件先后顺序,解决数据冲突(并发写冲突可用向量时钟判断因果关系)。
  • 列族存储:三种代表性系统与适用场景。HBase(大表宽表)/Cassandra(高可用写)/Bigtable(Google原始)。适用高吞吐写入、稀疏数据。
  • NewSQL:定义;代表产品(Spanner、TiDB)。
CAP 三选二
选择牺牲典型系统场景
CP可用性HBase / MongoDB(强一致模式) / ZooKeeper金融交易/库存扣减
AP一致性(最终一致)Cassandra / DynamoDB / DNS社交动态/推荐/缓存
CA分区容忍单机MySQL(非分布式)不适用于分布式
注意:分布式系统P必须保,实际只在CP和AP间选择。
BASE vs ACID
维度ACID(传统数据库)BASE(分布式)
一致性强一致性最终一致性
可用性可能阻塞等待基本可用(允许降级)
状态事务后确定状态软状态(中间态可接受)
适用单机/小规模大规模分布式
数据分片策略
策略原理优点缺点
哈希分片hash(key) % N均匀分布扩缩容需重哈希
一致性哈希环形空间+虚拟节点增删节点影响小实现较复杂
范围分片按key范围划分范围查询高效可能热点倾斜
高频问法:为什么分布式系统必须保P → 网络分区是客观存在的故障,无法消除。一致性哈希虚拟节点的作用 → 将少量物理节点映射为大量虚拟节点,解决数据分布不均(倾斜)问题。

8分布式文件系统 ⭐ → 讲义

  • 三种存储类型:块/文件/对象。块存储(SAN/DAS,裸块读写,低延迟)、文件存储(NFS/CIFS,目录层级,兼容POSIX)、对象存储(S3/MinIO,Key-Value-Metadata,可扩展高)。
  • GFS ⭐:四大核心假设与背景;架构(Master+ChunkServer);追加写入流程;一致性妥协。
  • HDFS ⭐:计算向数据移动;架构(双心结构 NameNode+DataNode)。
  • 对象存储:Key、Value、Metadata。Key唯一标识资源,Value存数据本体,Metadata存描述信息(大小/类型/创建时间),HTTP API访问(RESTful)。
  • Ceph ⭐:统一存储架构;三大接口(RBD 块、CephFS 文件、RGW 对象)。
  • 选型:分布式文件系统如何选型。按场景:块存储(数据库/高频交易)、文件存储(媒体共享/HPC)、对象存储(静态文件/备份/云原生);按需求:一致性要求vs可用性、吞吐vs延迟、数据量级。
三种存储类型对比
类型访问粒度特点典型产品
块存储固定大小块高性能/低延迟/无元数据Ceph RBD / EBS
文件存储文件/目录层级结构/共享访问NFS / CephFS / HDFS
对象存储Key-Value对象扁平命名空间/海量/HTTP APIS3 / Ceph RGW / MinIO
GFS vs HDFS vs Ceph
维度GFSHDFSCeph
设计者GoogleApache(仿GFS)开源社区
架构Master + ChunkServerNameNode + DataNodeMonitor + OSD + MDS
块大小64MB128MB(默认)4MB(对象)
写入模式追加写(append)一次写多次读随机读写
单点问题Master单点HA(双NameNode)无单点(CRUSH算法)
存储接口文件文件块+文件+对象(统一)
高频问法:GFS四大核心假设 → 硬件故障是常态/文件以大文件为主/读以顺序读为主/追加写优于随机写。HDFS"计算向数据移动"含义 → 将计算任务调度到数据所在节点,避免大量数据网络传输。Ceph无单点原因 → CRUSH算法去中心化计算数据位置,不依赖中心目录。

9并行编程模型 ⭐ → 讲义

  • 并行 vs 串行;并行计算三大流派。串行=顺序执行每次一步;并行=同时并行处理多任务。三大流派:任务并行(不同任务不同核)、数据并行(不同数据分块同时处理)、流水线并行(各阶段重叠执行)。
  • 阿姆达尔定律 ⭐:串行部分对加速比的限制。加速比 = 1/((1−p)+p/n),p 为可并行比例。
  • MapReduce ⭐:核心思想;执行流程(Split→Map→Shuffle→Reduce→Output);Combiner;容错与推测执行;经典示例(WordCount、排序、TopN)。

10Spark大数据处理 ⭐ → 讲义

  • Spark 动机 ⭐:内存计算 vs MapReduce 磁盘计算;DAG 执行引擎;适用场景。
  • 运行架构:整体架构;Executor 工作模式(长期驻留)。
  • RDD ⭐⭐:五大特性(分区、依赖、计算函数、分区器、首选位置);宽依赖与窄依赖 ⭐;血缘追踪(Lineage)与容错。
  • Transformation vs Action ⭐:Transformation(map/filter/flatMap/reduceByKey,惰性)与 Action(collect/count/saveAsTextFile,触发计算)分离。
  • 缓存策略:Cache 与 Persist 的区别。
  • DataFrame 与 Spark SQL:结构化数据优势;Catalyst 查询优化器与 Tungsten 代码生成。
宽依赖 vs 窄依赖
维度窄依赖(Narrow)宽依赖(Wide/Shuffle)
父子关系一对一(或多对一)一对多
是否Shuffle不触发触发Shuffle
Stage划分同一Stage内Stage边界
典型算子map / filter / unionreduceByKey / groupByKey / join
容错只需重算丢失的父分区需重算多个父分区
MapReduce vs Spark
维度MapReduceSpark
计算模型Map+Reduce两阶段DAG任意组合
中间数据写磁盘(HDFS)存内存(可溢写磁盘)
迭代计算多次读写磁盘,慢内存缓存,快10-100x
延迟高(批处理)低(支持流处理)
容错重算任务RDD Lineage血缘追踪
APIJava为主Scala/Python/Java/R
高频问法:RDD五大特性 → 分区列表/依赖列表/计算函数/分区器(可选)/首选位置(可选)。Lineage如何容错 → 记录RDD的转换链,分区丢失时根据依赖关系重算,窄依赖只需重算单个父分区。Cache vs Persist → Cache默认存内存(MEMORY_ONLY),Persist可指定存储级别(内存/磁盘/序列化)。

11大规模图计算

  • 图计算应用:社交网络、推荐系统、知识图谱、金融风控。
  • 图数据结构:顶点 Vertex、边 Edge、属性 Property;存储模型。
  • NetworkX:纯 Python 轻量级,适合教学原型;Graph/DiGraph 创建;PageRank 实现。
  • PageRank ⭐:随机游走模型;迭代计算与收敛;阻尼因子作用;应用场景。
  • Neo4j:属性图模型;Cypher 查询(MATCH/WHERE/RETURN/CREATE);NetworkX vs Neo4j(内存计算 vs 持久化)。

12云原生平台

  • Helm:K8s 包管理器;应用打包/版本管理/一键部署;Chart 结构(Chart.yaml、values.yaml、templates/);模板语法;多环境部署。
  • Operator 模式:自定义资源 CRD;控制器模式(Reconcile Loop);常见实例(Prometheus/MySQL/Spark Operator)。
  • Spark on Kubernetes:Driver Pod + Executor Pod;Spark Operator 流程;vs Spark on YARN。
  • GitOps:Git 作为唯一真实来源;ArgoCD 架构与工作流;Flux 简介。

🎯自测(点击展开)

大数据的 4V+1C 特征?
Volume 数据量大、Velocity 快速、Variety 多样、Value 价值密度低、Complexity 复杂度高。
云计算五大本质特征?
按需自服务、弹性扩展、资源池化、网络访问、按量计费。
IaaS/PaaS/SaaS 的区别?
IaaS 提供基础设施(VM/存储/网络),PaaS 提供平台(运行环境/数据库),SaaS 提供完整软件应用。控制等级递增,用户管理负担递减。
容器和虚拟机的区别?
VM 共享硬件但各有完整OS,强隔离重启动慢;容器共享宿主OS内核,轻量启动快,隔离较弱。容器用Namespace隔离+Cgroup限资源。
云原生四大核心要素?
容器化、微服务、声明式API、不可变基础设施。
熔断器三态?
Closed(正常放行)、Open(熔断拒绝请求)、Half-Open(半开试探恢复)。
K8s Pod 的三种探针?
Liveness(存活探针,失败重启)、Readiness(就绪探针,失败移出负载)、Startup(启动探针,保护慢启动应用)。
CAP 定理?
一致性(C)、可用性(A)、分区容忍性(P)三者不可兼得,分布式系统通常在 CP 和 AP 间选择。BASE 是 AP 的实践(基本可用/软状态/最终一致)。
MapReduce 执行流程?
Split(分片)→Map(映射)→Shuffle(混洗/分组)→Reduce(归约)→Output(输出)。
RDD 宽依赖与窄依赖?
窄依赖:父分区被子分区一对一使用(如map/filter);宽依赖:父分区被多个子分区使用,触发Shuffle(如reduceByKey/groupByKey)。
Kafka 的核心概念?
Broker(节点)、Topic(主题)、Partition(分区,追加写)、Consumer Group(消费者组)、Offset(偏移量)。
阿姆达尔定律?
加速比=1/((1−p)+p/n),p为可并行比例,n为处理器数。串行部分(1−p)限制了最大加速比。
Kafka vs RabbitMQ 核心区别?
Kafka:高吞吐/拉取模式/分区追加写/适合日志和大数据流处理。RabbitMQ:AMQP协议/推送模式/Exchange路由/适合业务解耦和任务队列。
GFS 四大核心假设?
硬件故障是常态;文件以大文件为主;读以顺序读为主;追加写优于随机写。
RDD 五大特性?
分区列表(partitions)、依赖列表(dependencies)、计算函数(compute)、分区器(partitioner,可选)、首选位置(preferred locations,可选)。
StatefulSet vs Deployment?
StatefulSet:稳定网络标识(pod-0/pod-1)、独立持久存储(VolumeClaimTemplates)、有序启停;适合有状态应用(数据库/ZK)。Deployment:无状态,副本等价,适合Web服务。
Istio Service Mesh 架构?
控制面istiod(配置管理/证书/服务发现) + 数据面Envoy Sidecar(自动注入Pod,拦截全部流量)。功能:流量管理/mTLS安全/可观测性。

📝综合题库

选择题点选即时判分;填空题输入后"检查"或"显示答案"。

已答 0/0答对 0正确率
已答 0/0答对 0