核心组件介绍
阿里云架构解析 · ECS / SLB / ACK / RDS / Redis / OSS / NAS / SOFAMQ / Kafka / ODP
本页介绍 ECS、SLB、ACK、RDS、Redis、OSS、NAS、SOFAMQ、Kafka 和 ODP 的产品定位、核心概念、组件关系及应用场景。产品定义以阿里云公开资料为依据,具体能力以对应专有云交付版本为准。
1.ECS:云服务器
产品定位:ECS 提供云服务器计算资源,用于承载操作系统、应用程序和运行环境。
产品概述
ECS 的全称是 Elastic Compute Service,是阿里云提供的 IaaS 计算服务。ECS 通过实例、镜像、云盘、网络和安全组等资源提供服务器运行环境。资源供给方式与可用规格以实际交付为准。官方:云服务器 ECS
核心概念
- 实例:可独立运行操作系统和应用程序的计算资源。
- 镜像:创建运行环境的模板,可能包含操作系统和预置软件。
- 云盘:ECS 实例使用的块存储资源。
- 安全组:控制实例入方向和出方向网络流量的规则集合。
组件关系
SLB 将请求转发至部署在 ECS 上的应用,应用可访问 RDS、Redis、消息和文件服务。ECS 也可为容器集群提供计算资源;在该组合中,ECS 承载节点运行环境,ACK 管理容器工作负载。 官方:ECS 网络、安全组与存储学习入口、 ACK 文档
应用场景
电子凭证查询应用可运行在 ECS 上。应用完成访问授权校验后,从 RDS 获取凭证索引,并根据索引读取 OSS 中的凭证对象。ECS 提供程序运行环境,业务授权由应用负责。
使用说明
增加应用实例可能同步增加数据库连接、缓存访问和消息消费压力。容量规划应覆盖完整依赖链路,专有云环境的扩展范围同时受可用资源池约束。
可用性说明:云服务器处于运行状态仅表示计算资源可用。应用可用性还取决于进程状态、网络连接、配置和下游服务。相关内容参见 SLB、ACK 和 查询缓存场景。
2.SLB:负载均衡
产品定位:SLB 提供流量接入与分发能力,将访问请求转发至可用的后端服务。
产品概述
SLB 是 Server Load Balancer,即负载均衡产品体系。阿里云负载均衡产品包括 ALB、 NLB 和 CLB,分别面向不同协议层次与应用场景。本栏目以 SLB 作为负载均衡能力的统称,具体产品类型以交付版本为准。 官方:负载均衡产品概述、 名称变更说明
核心概念
- 监听:接收某种协议流量的入口规则。
- 后端:实际处理请求的应用服务。
- 健康检查:根据约定条件判断后端是否适合继续接收流量。
- 转发策略:决定流量如何分配;具体支持范围取决于产品类型。
组件关系
SLB 位于业务流量入口与应用服务之间,后端可运行在 ECS 或容器环境中。登录鉴权和业务交易校验由应用处理。容器场景中的访问路径还涉及 Service、Ingress、控制器和网络方案。
应用场景
活动期间,多个应用实例共同提供缴费查询。使用者访问统一入口,SLB 将请求分发给可用后端。如果某个后端未通过健康检查,后续请求可以避开该后端;已在处理中断的请求,仍然需要应用和客户端按业务语义处理。
使用说明
健康检查应反映后端承担请求的能力。检查内容过少可能无法识别关键依赖故障,检查内容过多则可能在下游异常时同时摘除大量后端。
业务说明:SLB 负责入口流量分发,不处理业务幂等。请求超时和重复提交应由应用根据业务标识和处理状态进行控制。相关内容参见 ECS、ACK 和 SOFAMQ。
3.ACK:容器应用管理
产品定位:ACK 提供容器化应用的部署、调度、更新和运行管理能力。
产品概述
ACK 是阿里云容器服务 Kubernetes 版。它围绕 Kubernetes 提供容器应用管理能力。产品形态包括托管集群、专有版集群和 ACK Distro,适用边界以交付版本为准。 官方:ACK 文档、 ACK 发行版概述
核心概念
- 容器镜像:应用及其运行依赖的交付材料。
- Pod:Kubernetes 调度和运行应用的基本单元之一。
- Deployment:描述一组应用副本的期望状态和更新方式。
- Service:为一组后端工作负载提供相对稳定的访问抽象。
- 持久卷:为容器工作负载提供独立于容器进程生命周期的持久化存储。
组件关系
ACK 调度容器,节点提供计算资源;应用通过网络访问 RDS、Redis、OSS 和消息服务。需要共享文件时,可结合受支持的存储插件使用 NAS。平台身份权限与 Kubernetes RBAC 又属于不同的授权层次。 官方:ACK 授权概述、 NAS 产品介绍
应用场景
电子凭证服务可拆分为查询应用和文件生成应用,并根据各自负载独立调整副本。生成应用通过消息接收任务并将文件保存到 OSS,业务数据通过持久化服务保留。
使用说明
应用版本更新需要考虑数据库结构、消息格式和外部依赖。容器平台可以协助发布与回退,但旧应用版本能否读取新数据,仍需业务设计和验证。
持久化说明:Pod 恢复后,业务状态从持久化服务重新加载。待处理任务采用可靠记录,并在处理结果保存后确认消息。相关内容参见 NAS、OSS 和 SOFAMQ。
4.RDS:关系型数据库服务
产品定位:RDS 提供关系型数据库服务,用于保存、查询和更新结构化业务数据。
产品概述
RDS 是 Relational Database Service。阿里云按数据库引擎提供相应服务,并提供实例、账号、备份和恢复等管理能力。专有云环境中的引擎、版本和高可用架构以实际交付内容为准。 官方:RDS 产品入口、 RDS MySQL 概述
核心概念
- 表与记录:组织结构化业务数据,例如处理状态和对象索引。
- 事务:在数据库支持的边界内组织一组相关数据变更。
- 索引:帮助查找数据,但会增加写入与维护成本。
- 备份恢复:在数据受损或误操作后恢复所需状态的机制;与在线副本承担的工作不同。
组件关系
应用可以直接访问 RDS,也可以在合适架构中经 ODP 访问。Redis 可承接可重建的热点数据;OSS 保存文件实体,RDS 保存文件对应的业务索引和权限关联。数据库之间的复制、备份和只读能力需要按具体产品核实。 官方:RDS 术语
应用场景
凭证生成完成后,应用将对象位置、关联业务记录和生成状态写入数据库。查询应用完成权限和状态校验后读取对应对象。RDS 记录与 OSS 对象之间的一致性由应用流程维护。
使用说明
对于交易类场景,可将具备适当事务语义的数据库作为业务事实来源。数据库引擎、部署架构和事务模型仍需根据业务一致性、性能和恢复要求进行评估。
数据保护说明:在线副本主要用于连续性和故障切换,备份用于应对误删除、错误修改及其他恢复场景。恢复能力应通过定期验证确认。相关内容参见 ODP、Redis 和电子凭证场景。
5.Redis:内存数据服务
产品定位:Redis 提供低延迟数据访问能力,适用于热点缓存和具有明确生命周期的状态数据。
产品概述
阿里云当前公开文档使用“云数据库 Tair(兼容 Redis)”等产品名称,提供兼容 Redis 协议的数据服务。不同产品版本在架构、数据持久化和管理能力方面存在差异。本栏目以 Redis 表示相应协议和数据访问能力,具体产品形态以交付版本为准。 官方:产品定义
核心概念
- 键和值:通过键读取、更新相应数据。
- 过期时间:缓存数据的有效期,到期后按照应用策略更新或删除。
- 缓存命中:请求在缓存中找到可用数据。
- 回源:缓存未命中时,从数据库等事实来源重新获取数据。
组件关系
Redis 通常位于应用和后端数据访问之间,但业务程序决定哪些数据进入缓存、何时更新以及故障时怎样退回数据库。Redis 自身也需要访问控制和数据保护配置。 官方:Tair 安全白皮书
应用场景
缴费服务的公开机构列表、可展示的产品说明等读取频繁,可以缓存。应用先查询 Redis,未命中再读取 RDS,并设置合适的失效策略。涉及使用者权限或敏感状态的结果,需要更严格地设计缓存键与失效逻辑。
使用说明
大量热点数据同时失效可能导致请求集中回源并增加数据库压力。应用可结合请求合并、分散过期时间、限流和降级策略控制回源流量。
一致性说明:最终账务依据由权威数据源和事务提交状态确定。应用根据一致性要求设计缓存更新策略。相关内容参见查询缓存场景和 RDS。
6.OSS:对象存储
产品定位:OSS 提供对象存储能力,应用通过对象名称和标准接口读写数据。
产品概述
OSS 是 Object Storage Service,即对象存储。它以存储空间和对象组织数据,提供 API、 SDK 等访问方式,适合文件内容、图片、音视频和归档材料等对象型数据。具体存储类别、保护功能与专有云版本应分别核实。 官方:什么是 OSS
核心概念
- Bucket:对象的组织和管理容器。
- Object:内容及相关元数据组成的对象。
- 对象键:对象的唯一名称,用于定位和访问对象。
- 生命周期:按规则管理对象保存阶段或清理行为,具体能力依版本而定。
组件关系
运行在 ECS 或 ACK 上的应用可将文件保存到 OSS,并在 RDS 中记录可查询的业务索引。消息可触发文件生成、校验和后续处理,文件完成状态由应用根据写入和校验结果确认。
OSS 与 NAS 采用不同的访问模型。对象存储映射为目录使用时,需要核对文件操作语义、性能和异常处理方式,并评估应用改造范围。 官方:存储服务选择
应用场景
凭证生成应用先写入对象,完成内容校验后再发布“可查询”状态。使用者下载时,由应用确认访问权限,再通过受控方式获取对象。凭证文件名使用与真实身份无关的示意名称。
使用说明
文件上传完成与业务归档完成属于不同状态。归档流程还应确认内容完整性、索引对应关系、访问授权和保存策略。索引存在但对象不可读时,需要结合写入状态、对象校验和补偿记录进行处理。相关内容参见 NAS、RDS 和电子凭证场景。
7.NAS:文件存储
产品定位:NAS 提供共享文件系统,应用可按照文件和目录方式访问数据。
产品概述
NAS 是 Network Attached Storage,在阿里云产品中指文件存储服务。它可面向云服务器和容器等计算环境提供文件访问能力;NFS、SMB 等协议支持范围要看所选产品与版本。 官方:什么是文件存储 NAS
核心概念
- 文件系统:以文件、目录及相关元数据组织内容。
- 挂载:将远端文件系统接入应用运行环境,使程序通过约定路径访问。
- 共享访问:多个客户端访问同一文件系统,并由应用协调并发读写。
- 权限与文件操作语义:定义文件读取、修改和并发访问规则。
组件关系
ECS 上的程序可以按受支持协议挂载 NAS;容器应用可通过适配的存储能力访问它。若程序原本围绕文件路径工作,NAS 比纯对象接口更接近原有访问方式;是否迁移到 OSS,需要评估改造收益和语义差异。 官方:存储服务选择
应用场景
批量对账应用将输入文件放入共享工作区域,校验程序读取后生成中间结果,再由汇总程序继续处理。应用可将最终文件保存到 OSS,并在数据库中记录批次状态。NAS 提供共享文件访问,归档流程由应用编排。
使用说明
文件可见不代表文件写入已经完成。应用可使用完成标记、内容校验和任务状态协调读取时点,具体原子操作应结合文件系统语义验证。相关内容参见 OSS 和批量对账场景。
8.SOFAMQ:分布式消息服务
产品定位:SOFAMQ 提供分布式消息服务,支持业务异步处理、应用解耦和流量缓冲。
产品概述
SOFAMQ 是 SOFAStack 体系中的消息队列产品,公开资料说明其基于 Apache RocketMQ,支持发布订阅及相应消息能力。讲解重点是异步解耦、流量缓冲和可靠传递机制;支持哪些事务、顺序或定时特性,应按具体版本确认。 官方:消息队列概述、 专有云文档合集
核心概念
- Producer:产生并发送消息的应用。
- Topic:组织一类消息的主题。
- Consumer/消费组:接收消息并执行业务处理的应用及其组织方式。
- Broker:参与消息接收、保存和投递的服务端。
- 幂等:重复处理同一业务请求时,不产生重复的业务结果。
相关角色见官方:消息队列架构。内部节点与高可用结构随版本变化,请以对应版本的官方架构文档为准。
组件关系
运行在 ECS 或 ACK 中的业务应用发送消息;消费应用处理后更新 RDS、生成 OSS 对象或执行其他后续任务。SOFAMQ 保存并传递的是消息,业务事实及处理结果仍需要应用安排合适的持久化。
应用场景
大型促销期间,支付完成后通常还需要生成电子凭证、发送通知和更新统计。适合异步执行的任务可通过 SOFAMQ 交由下游应用处理,从而缩短主流程等待时间。面向客户展示的支付状态以支付业务的实际提交结果为准。
使用说明
消费者可能收到重投消息,因此需要业务去重或幂等机制。数据库提交与消息发布之间,也要设计一致性衔接,例如经过验证的事务消息方案,或将待发送事件与业务状态一起记录后可靠投递。官方示例同样包含消息幂等处理。 官方:SOFAStack 消息与事务开发示例
状态说明:MQ 接受消息、消费者开始处理和凭证生成完成属于不同业务状态。应用应分别记录并展示相应处理结果。相关内容参见 支付后续处理场景和 Kafka。
9.Kafka:分布式事件流
产品定位:Kafka 提供分布式事件流能力,支持事件持续写入、保存和按消费进度读取。
产品概述
阿里云“云消息队列 Kafka 版”提供与 Apache Kafka 生态相关的消息服务,公开用途包括日志、监控、流式处理和数据分析。SOFAStack 专有云文档还列有 SOFAKafka。本栏目以 Kafka 解释共同的事件流概念,不将这两种交付产品自动视为同一版本。 官方:Kafka 产品介绍、 SOFAStack 专有云文档合集
核心概念
- Topic:一类事件的逻辑集合。
- Partition:Topic 的分区,与并行消费和顺序范围相关。
- Offset:消息在分区中的位置,可用于追踪消费进度。
- Consumer Group:一组协作消费的程序;不同组可以服务不同业务目的。
- 保留策略:决定事件能在什么范围内继续被读取和回放。
单个分区内可按照消息位置理解顺序,跨分区处理不提供同一范围的全局顺序。概念出处: 官方:Kafka 基本概念。
组件关系
应用产生事件后,Kafka 负责事件传输和消费管理,Flink 等处理程序完成统计与转换,并将结果写入数据库或存储服务。流计算引擎的部署方式和可用功能取决于产品版本与技术方案。
应用场景
渠道访问事件进入 Kafka 后,运营分析程序统计访问趋势,运行监测程序观察错误变化。它们使用不同消费组,各自管理进度。事件只携带示例所需的非敏感信息,分析结果也不直接充当账务记录。
使用说明
消费并行度与分区数量及任务设计相关,事件回放范围受保留策略约束。外部接口调用和数据库写入还需要结合幂等与事务设计控制重复处理。
状态说明:消费进度反映事件读取位置,不直接表示分析结果已经完整写入。运行管理应同时检查消费状态、处理状态和结果端状态。相关内容参见 SOFAMQ 和 事件分析场景。
10.ODP:数据访问代理
产品定位:ODP 提供应用到后端数据库的数据访问代理、路由和分片管理能力。
产品概述
本栏目中的 ODP 指 SOFAStack Open Database Proxy(数据访问代理)。官方介绍包含分库分表、读写分离和数据扩展等能力,并提供与 RDS、OceanBase、MySQL 的相关适配。 OceanBase Database Proxy/OBProxy 属于不同产品概念。 官方:SOFAStack 中间件中的数据访问代理、 ODP 名称与实例说明
核心概念
- 逻辑数据视图:应用使用的表或数据访问抽象。
- 物理分片:数据在后端数据库中的拆分位置。
- 分片键:帮助确定数据去向的字段,选择会影响访问效率和均衡性。
- 读写路由:根据规则将请求送到适当的后端;是否能读到最新结果仍要考虑复制和一致性。
组件关系
一种组合是“应用 → ODP → RDS 等后端数据库”。数据库承担实际的数据管理,ODP 承担访问代理与路由职责;应用连接器可能参与连接池与访问适配。 官方:ODP 连接器
应用场景
历史查询记录持续增长时,可根据业务属性设计数据分片。应用通过逻辑表访问数据,ODP 根据分片条件定位后端数据库。缺少有效分片条件的查询可能访问多个分片,查询性能取决于分片设计和访问模式。
使用说明
跨分片更新、全局唯一性、跨表关联和扩容迁移需要明确设计约束。涉及分布式事务时,应核实 ODP、数据库和事务组件的版本及接入要求;多库写入的原子性由相应事务方案保障。
一致性说明:读写分离场景需要关注读取路由、复制状态和业务一致性要求。对于需要立即读取最新结果的操作,应采用与产品能力和业务语义匹配的访问策略。相关内容参见 RDS 和关联组件与术语。
11.核心组件对比
| 对照 | 主要差异 | 关系与边界 |
|---|---|---|
| ECS / ACK | 如何提供计算环境;如何组织容器应用 | 不在同一抽象层,既可分别使用,也可组合 |
| RDS / Redis | 哪里保存业务事实;哪里承接热点和短期状态 | 缓存策略由应用决定,不自动形成正确账务 |
| OSS / NAS | 通过对象接口访问;通过文件系统访问 | 根据访问语义、性能和应用改造范围选择 |
| SOFAMQ / Kafka | 如何组织异步业务;如何组织持续事件消费 | 用途有交集,选型要核实消息语义、生态和版本 |
以上内容用于说明组件职责和访问模型,不构成产品排名或具体选型结论。完整组合方式参见业务场景与组件关系。