news 2026/7/31 10:45:53

软件体系结构——Chapter 26 云架构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件体系结构——Chapter 26 云架构

目录

  • 1. 基本云定义
    • 1.1 基本特征
  • 2. 服务模型与部署选项
    • 2.1 云服务模型
    • 2.2 部署模型
  • 3. 经济合理性(Economic Justification)
    • 3.1 规模经济
    • 3.2 设备利用
    • 3.3 多租户
  • 4. 基础机制
    • 4.1 虚拟管理程序(Hypervisor)
    • 4.2 虚拟机
    • 4.3 文件系统
    • 4.4 网络
  • 5. 示例技术
    • 5.1 IaaS
    • 5.2 PaaS
    • 5.3 数据库
  • 6. 云环境中的架构
    • 6.1 安全性
    • 6.2 性能
    • 6.3 可用性

1. 基本云定义

1.1 基本特征

  1. 按需自助服务(On-demand self-service)

    • 用户可自主配置资源,无需人工交互
  2. 无处不在的网络访问(Ubiquitous network access)

    • 不限制设备,只需要客户端和互联网
  3. 资源池化(Resource pooling)

    • 云服务提供商的计算资源被整合在一起(pool:集中资源)
  4. 位置独立(Location independence)

    • 用户无需关心资源的物理位置
  5. 快速弹性(Rapid elasticity)

    • 功能能够快速且灵活地进行配置
  6. 计量服务(Measured service)

    • 对资源使用情况进行监测,用户只需为实际使用的内容付费
  7. 多租户(Multi-tenancy)

    • 多个用户共享资源且相互隔离

2. 服务模型与部署选项

2.1 云服务模型

  1. 软件即服务(Software as a Service,SaaS)

    • 消费者是最终用户

    • 消费者直接使用云应用程序

  2. 平台即服务(Platform as a Service,PaaS)

    • 消费者是开发者或系统管理员

    • 开发者在云平台上部署应用

  3. 基础设施即服务(Infrastructure as a Service,IaaS)

    • 消费者是开发者或系统管理员

    • 消费者可以配置基础计算资源并部署任意软件

2.2 部署模型

基本模型:

  1. 私有云:云基础设施完全由一个组织拥有

  2. 公有云:云基础设施向公众或大型行业群体提供,并由销售云服务的组织拥有

变体

  1. 社区云:云基础设施由特定组织共享

  2. 混合云:云基础设施是由两个或多个云(私有云、社区云或公共云) 组成的组合

3. 经济合理性(Economic Justification)

3.1 规模经济

维护数据中心成本的因素:

  1. 电力成本

    • 大型数据中心通过共享设备、议价能力、选址优化降低单服务器能耗成本
  2. 基础设施人工(labor)成本

    • 大型中心管理员可管理>1000台服务器
  3. 安全性和可靠性

    • 高安全性和可靠性成本被更多服务器分摊
  4. 硬件成本

    • 大规模采购有折扣

3.2 设备利用

  1. 虚拟化技术允许在一台物理服务器上同时运行多个不同的应用程序和操作系统

  2. 管理工作负载波动可进一步提升利用率

    1. 随机访问

      • 终端用户随机访问应用,这种随机性有助于使负载趋于均匀
    2. 一天中的时间

      • 将职场相关服务(白天使用率高)与消费相关服务(晚上使用率高)部署在一起,提高利用率

      • 利用全球不同地区的时差,可以让同一套资源为不同地区的用户服务

    3. 一年中的时间

      • 考虑年度性需求波动,如节假日购物季、报税季,可以预测这些日期进行规划部署
    4. 资源使用模式

      • 将具有互补资源使用模式的应用程序放在一起,增加资源整体利用率
    5. 不确定性

      • 考虑突发流量,如新闻事件、促销活动、体育赛事

3.3 多租户

如何降低成本?

  1. 服务台(Help desk)支持

    • 将咨询服务从IT部门转移给供应商
  2. 一次性为所有客户升级

  3. 只需维护软件的单个版本

4. 基础机制

4.1 虚拟管理程序(Hypervisor)

虚拟内存页表

4.2 虚拟机

  1. 虚拟机拥有独立于其他虚拟机的地址空间

  2. 从应用程序角度看,像一台裸露的金属设备(对VM内部的操作系统和应用来说,感觉自己在独占一台完整的物理服务器)

  3. 拥有IP地址和网络功能

  4. 可加载任何操作系统和应用

4.3 文件系统

  1. 每个虚拟机都能访问文件系统

  2. 我们将介绍 HDFS(Hadoop 分布式文件系统)—种被广泛使用的开源云文件系统

  3. 我们描述了 HDFS 如何通过采用冗余机制来保障可用性

4.4 网络

  1. 每个虚拟机都会被分配一个 IP 地址

  2. 使用 TCP/IP 协议发送的每一条消息在报头中都包含 IP 地址

  3. 云网关能够根据不同需求调整 IP 地址

5. 示例技术

5.1 IaaS

  1. 一组管理基础技术的服务器配置

    • 服务器是按照集群的形式进行排列的。

    • 一个集群中可能有数千台服务器

    • 有些服务器被用作laaS的基础设施

    • 每台服务器底层都运行着虚拟化管理程序

  • IaaS架构组件

    • 集群管理器:负责管理每个集群

    • 持久对象管理器:管理持久化存储

    • 虚拟资源管理器:管理其他(外部)资源。它充当消息的网关

    • 文件系统管理器:类似于HDFS。它管理网络范围内的文件系统

  • IaaS提供的服务

    • 当底层虚拟机实例发生故障时,自动重新分配IP地址

    • 自动扩缩容。根据负载创建或删除新的虚拟机

5.2 PaaS

  1. 为开发者提供一个集成的技术栈

  2. 开发者用Python编写代码,PaaS平台负责管理代码向栈的底层各层的部署

5.3 数据库

  1. 关系型数据库的问题

    • 从网络系统收集到海量数据,关系型数据库处理这些数据会带来开销

    • CAP定理表明,不可能同时实现一致性(C)、可用性(A)和分区容错性§

    • 关系模型并非所有应用的最佳模型

  2. 因此需要新型数据库,统称为NoSQL(Not only SQL),非关系型数据库

  3. 键值型数据库:HBase

    • 指定一列作为键,其他所有列都是值

    • 无模式,因此数据可以包含键 + 任何其他值。值通过其变量名来识别

    • 数据值也带有时间戳

      • HBase不支持事务。时间戳用于在事后检测冲突
  4. 文档型数据库:MongoDB

    • 存储对象而非数据

    • 通过包含它的对象来访问数据

    • 对象也可以包含指向其他对象的链接

    • 没有主键或次键索引的概念。一个字段要么被索引,要么不被索引

  5. 新的数据库省略了什么?

    • 事务:不执行锁定。应用程序必须检测与其他用户的冲突

    • 模式:没有预定义的模式。应用程序必须使用正确的字段名

    • 一致性:CAP定理表明必须有所牺牲。通常一致性被“最终一致性”所取代

    • 规范化和连接:执行连接操作要求连接字段必须被索引。由于不能保证索引字段的存在,连接操作无法执行。这意味着不支持表的规范化

6. 云环境中的架构

云平台的特有模式使得安全性、性能和可用性这三个质量属性的设计考量与传统的本地部署环境有显著不同。

6.1 安全性

多租户的攻击形式

  1. 意外的信息共享

  2. 虚拟机“逃逸”

    • 攻击者可能攻破Hypervisor的隔离防线
  3. 侧信道攻击

    • 攻击者可能通过检测缓存来获取信息
  4. 拒绝服务攻击

    • 恶意租户可以通过耗尽共享资源来影响其他租户的服务可用性

6.2 性能

  1. 云的自动扩展(Auto-scaling)功能可提供更高的性能。

  2. 但是新资源的响应时间可能不够充足

  3. 架构师需要了解应用程序所需的资源情况

    • 将这些知识融入到应用程序中

    • 让这些应用程序具备自我意识,以便它们能够主动应对资源需求问题。

6.3 可用性

  1. 在云环境中,失败是常见现象

    • 拥有数千台服务器的情况下,出现故障是意料之中的事
  2. 云服务提供商会确保云系统本身能够保持可用状态,但也会有一些明显的例外情况

  3. 应用程序开发者必须考虑到实例运行可能会出现故障,因此要预先设置故障检测及修复机制,以防出现故障情况。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 4:20:14

微信312088415加好友验证:请备注‘HeyGem合作’通过率更高

HeyGem数字人视频生成系统:从技术实现到企业级应用 在内容为王的时代,高效、低成本地生产高质量视频已成为企业传播的核心竞争力。然而,传统真人出镜的拍摄方式不仅成本高昂,还受限于演员档期、场地协调和后期制作周期。当一个教育…

作者头像 李华
网站建设 2026/7/31 3:27:58

本地磁盘最稳妥:将项目部署在高速SSD上运行最佳

本地磁盘最稳妥:将项目部署在高速SSD上运行最佳 在AI驱动的数字人视频生成系统中,一个常被低估却至关重要的环节——存储性能,正悄然决定着整个系统的成败。当企业开始批量制作虚拟主播视频、自动化课件或智能客服内容时,他们很快…

作者头像 李华
网站建设 2026/7/31 3:27:57

【C# Span内存安全终极指南】:掌握高效安全的堆栈内存操作核心技术

第一章:C# Span内存安全概述C# 中的 Span 是 .NET Core 2.1 引入的重要类型,旨在提供高效且安全的内存访问机制。它允许开发者在不复制数据的情况下操作连续内存块,适用于高性能场景,如字符串处理、网络包解析等。Span 的核心优势…

作者头像 李华
网站建设 2026/7/31 3:27:58

SGMICRO圣邦微 SGM2203-5.0YN3LG/TR SOT-23 线性稳压器(LDO)

特性低功耗标称输出电流150mA低压差低温度系数高输入电压(最高36V)输出电压精度:3%固定输出电压版本:0.8V至4.7V,步长0.1V;5V至12V,步长0.25V工作温度范围:-40C至85C采用绿色SOT - 2…

作者头像 李华
网站建设 2026/7/31 10:20:20

Laminin Penta Peptide, amide;YIGSR-NH2

一、基础性质英文名称:Laminin Penta Peptide, amide;Laminin-derived peptide YIGSR-NH₂;YIGSR amide中文名称:层粘连蛋白五肽酰胺;YIGSR 五肽酰胺多肽序列:H-Tyr-Ile-Gly-Ser-Arg-NH₂单字母序列&#x…

作者头像 李华
网站建设 2026/7/28 18:30:10

深度强化学习算法:DDPG、TD3、SAC在机器人MuJoCo实验环境中的应用

深度强化学习算法:DDPG TD3 SAC 实验环境:机器人MuJoCo在让机器人学会倒立行走这件事上,MuJoCo仿真环境就像个严苛的体育教练。当我在凌晨三点盯着屏幕上抽搐的机械臂时,突然意识到深度强化学习算法之间的差异,可能比咖…

作者头像 李华