GEEKDANCE · 极客跳动

佛山乐普机器人调度平台 · 架构升级方案 v3

本文档受访问保护,请输入访问密码

密码不正确,请重新输入
本页内容含成本测算数据,请勿外传
需要访问密码请联系 苏小北 · 极客跳动
ALIBABA CLOUD · ACK MANAGED KUBERNETES

佛山乐普机器人调度平台
架构升级方案

由传统 ECS 单体架构升级为阿里云 ACK 托管 K8s 云原生容器架构, 同步完成 SLS 云端日志体系重构 —— 系统性改善扩展性不足、资源按峰值常备、 日志占用算力、大并发稳定性不足四类核心问题。
设备规模分档适配 自动弹性扩缩 多副本高可用 微服务解耦 故障自愈 全链路可观测 灰度可控迁移
出品方极客跳动 · 技术架构部
服务客户佛山乐普
文档版本v3.2 图文版
适配场景长连接调度 / 弹性流量 / 高频上报
POWERED BY 极客跳动 GeekDance
做全球最靠谱的技术服务团队

TOC目录

一、项目现状痛点与升级改造目标现状架构痛点 / 日志与架构双维改造 / 五大核心目标
二、方案选型说明ACK K8s 替代传统 ECS 的六项核心优势 / 自建与托管取舍 / 责任边界 / 收益与前提
三、整体 ACK K8s 架构拓扑六层架构总览 + 设备长连接调度全链路时序 + 负载均衡(NLB / ALB)选型
四、项目核心落地优化策略六大优化策略 / 节点池隔离 / 潮汐弹性与成本结构
五、落地实施与平滑迁移方案五阶段迁移路线 / 灰度切流与快速回退
六、项目交付验收标准六大类 21 项验收条目
七、方案总结云原生核心能力与长期演进价值
附录 A设备规模档位与推荐资源配置对照(建议基准)
HOW TO USE 本版在 v2 基础上新增 13 张原创架构图(内联 SVG,矢量无损缩放),覆盖现状诊断、目标架构、 数据流时序、实施路径与验收体系。左侧目录可跳转;直接打印或导出 PDF 即为 A4 交付稿。
文档数据口径说明 本方案定位为架构设计与实施方案,而非商务承诺函。文中涉及的容量估算、资源配置建议、趋势对比等量化内容, 均为基于同类项目经验与阿里云产品公开能力给出的设计参考值,用于立项预算评估与技术选型,不作为交付承诺指标。 实际运行表现受设备心跳频率、指令数据量、网络环境、业务代码质量、第三方组件稳定性等多重因素影响, 须在阶段二压力测试后由双方共同确认最终配置与验收基线。项目验收以第六章验收标准及双方签署的验收文件为准。
1

项目现状痛点与升级改造目标PAIN POINTS & UPGRADE OBJECTIVES

佛山乐普机器人调度系统原采用传统单体 ECS 架构,架构耦合度高、弹性能力不足、长连接场景下存在性能瓶颈,且本地日志存储模式持续占用系统算力与 IO 资源,无法支撑机器人设备规模化增长。本次项目通过 微服务容器化架构升级 + 云端日志体系重构,改善现有架构在扩展性、资源供给与日志处理上的短板,并按设备规模分档设计资源配置与架构演进路径。

1.1现有系统核心痛点

现有架构在设备规模持续增长的背景下,已暴露出扩展性、性能、成本与运维四个维度的系统性瓶颈,如下图所示:

图 1-1现状 ECS 单体架构与四大痛点定位
AS-IS ARCHITECTURE
机器人设备群 7×24 长连接 · 心跳上报 · 指令回执 NLB 负载均衡 四层 TCP 转发 4 传统 ECS 单体应用 · All-in-One 1 设备接入 TCP / MQTT 长连接 任务调度 指令下发 · 路径规划 数据处理 轨迹清洗 · 统计 后台管理 设备 · 任务 · 账号 本地日志读写 占用 CPU + 磁盘 IO 2 定时任务 批处理 · 报表 模块紧耦合 · 无故障隔离 3 RDS 主库 结构化业务数据 Redis 缓存 会话 / 在线状态 1 扩展性不足 模块高度耦合,无法独立扩容;中大规模并发下 服务卡顿,单点故障波及全站业务。 2 性能受限于日志 本地日志读写持续占用 CPU 与磁盘 IO,调度 延迟上升、设备异常断连率升高。 3 资源利用率低 按峰值常备固定 ECS,潮汐波谷期资源大量 闲置,单位算力成本居高不下。 4 运维与发布困难 停机发布、人工扩缩容,故障定位需登机翻 日志,迭代与恢复周期长。 PAIN POINTS
读图:红色编号为四大痛点在架构中的具体落点 —— ① 单体应用内部模块紧耦合,任一模块过载或故障都会波及全站;② 本地日志读写与核心调度争抢同一份 CPU / 磁盘 IO;③ 按峰值常备的固定 ECS 资源在波谷期闲置;④ 缺少灰度发布与自动化运维手段。
存量/中间件 业务模块 问题点 设备

1.2整体升级改造解决方案

本次改造摒弃传统单一资源扩容模式,从「日志体系解耦优化」与「底层架构云原生重构」两大维度进行系统性升级,从架构根源解决系统性能、稳定性与扩展性问题。

图 1-2双维升级改造总览(日志云端化 + 架构云原生)
TWO-DIMENSION UPGRADE
AS-IS ECS 单体架构 耦合 · 低效 · 难扩展 维度一 · 日志体系云端化 ① 统一采集 Logtail 无侵入采集 ② 云端存储与索引 SLS Logstore 分库 ③ 检索 · 告警 · 可视化 在线检索 + 看板 维度二 · 架构云原生重构 ① 微服务拆分 按业务域解耦五大服务 ② 容器化部署 ACK Pro 托管集群 ③ 弹性调度 · 自愈 HPA / 跨 AZ 多副本 TO-BE 云原生调度架构 高弹性 · 高可用 · 可观测 双重改造并行推进 → 从架构根源解决性能、稳定性与扩展性问题
读图:两条改造链路相互独立、可并行推进。日志链路先行落地(对业务侵入最小、见效最快),架构链路紧随其后做服务拆分与容器化,二者在 ACK 集群上最终收敛为统一的云原生调度架构。

1.2.1 日志系统专项优化方案

重构原有本地日志存储架构,全链路对接阿里云 SLS 云端日志服务,实现日志采集、上报、存储、检索全流程云端化,将日志读写负载从业务服务器迁移至云端。

  • 云端日志统一承载:以阿里云 SLS 替代本地文件日志,依托云端高吞吐、高并发能力,稳定承载设备心跳、任务调度、设备轨迹等全量业务日志,适配海量数据写入场景。
  • 全链路日志标准化治理:统一微服务日志格式与上报规范,实现日志实时上报、云端存储、快速检索与链路溯源,释放服务器本地算力,保障计算资源全部用于核心调度业务。
图 1-3日志链路改造架构:本地落盘 → SLS 云端全托管
LOG PIPELINE
改造前 · 本地文件日志(占用业务算力) 业务服务进程 调度 / 接入 / 处理 本地日志文件 同步写入节点磁盘 CPU / 磁盘 IO 争抢 与核心调度抢占算力 检索困难 · 易丢失 登机 grep · 无索引 调度延迟 ↑ 异常断连率 ↑ ↓ 全链路云端化改造(业务侧零代码侵入) 改造后 · 阿里云 SLS 云端日志(业务节点零落盘) 业务 Pod stdout / stderr Logtail 采集 容器内无侵入采集 SLS Logstore 心跳/调度/轨迹/错误 索引 · 冷热分层 云端高吞吐写入 检索 · 告警 · 看板 在线查询 · 链路溯源 算力释放 · 回归核心调度 收益 业务节点的日志落盘与检索负载迁移至云端,原本被日志占用的 CPU / IO 得以回归核心调度;日志保留周期与检索能力由云端承载,不再受单机磁盘容量约束。
读图:改造后业务容器只负责向标准输出打印日志,采集、传输、存储、索引、检索全部由 SLS 承担。业务代码零改造(Logtail 以 DaemonSet 方式旁路采集),右侧绿色回环表示原本被日志占用的 CPU / IO 得以重新投入核心调度链路;检索响应表现取决于日志量与检索条件,以实际使用为准。

1.2.2 底层架构升级改造方案

对原有单体业务进行微服务拆分与 ACK 容器化改造,实现业务解耦、独立扩缩、故障隔离,适配机器人业务潮汐波动、长连接密集、突发峰值频繁的运行特征。

图 1-4单体应用 → 五大微服务拆分与容器化部署
MICROSERVICE DECOMPOSITION
ECS 单体应用 设备接入 任务调度 + 路径规划 日志读写 + 数据处理 同进程 · 同资源 · 同生命周期 拆分 1 设备接入网关 Gateway Service 握手鉴权 · 心跳保活 · 连接管理 · 限流熔断 Pod × N 2 核心调度服务 Scheduling Service 路径规划 · 指令下发 · 设备状态管理 Pod × N 3 任务管理服务 Task Service 任务编排 · 队列调度 · 批量下发 · 重试 Pod × N 4 数据处理服务 Data Service 日志解析 · 轨迹清洗 · 统计报表 Pod × N 5 后台管理服务 Admin Service 设备管理 · 账号权限 · 运营配置 Pod × N ACK K8s 容器编排平台 · 统一调度 / 服务治理 / 弹性伸缩 / 灰度发布 / 故障自愈
读图:按业务域拆分为 5 个独立微服务,各自独立镜像、独立部署、独立扩缩。网关与核心调度为高并发长连接链路,可配置更大副本数与独占节点池;数据处理与后台管理为低优先级负载,可混部并使用抢占式实例以降低成本。
高并发接入/调度链路 任务编排 数据处理 后台管理 改造前单体

1.3升级改造核心目标

通过日志云端化、业务微服务容器化双重改造,搭建一套高弹性、可观测、可扩展的云原生调度架构,改善原有系统在扩展性与资源调度上的瓶颈,适配机器人调度场景需求,为后续业务形态变化预留调整空间。

图 1-5五大核心目标与度量指标
OBJECTIVES & DIRECTION
01 弹性扩缩 自动 按设备在线量与负载 策略驱动 Pod 扩缩 02 资源提效 混部共享 多服务共享节点资源 缓解按峰值常备的闲置 03 业务解耦 5 域 微服务独立部署、 独立扩容、故障隔离 04 高可用 多副本 跨可用区部署, Pod / 节点故障自愈 05 可观测 全链路 日志 / 监控 / 告警 / 链路追踪一体化
说明:上图为本次改造的五个能力建设方向,描述的是改造后系统具备的机制与能力,而非数值型交付承诺。各方向的实际运行表现受设备行为、业务代码、网络环境等因素影响,以阶段二压测数据与第六章验收标准为准。
2

方案选型说明:为什么选择阿里云 ACK 托管 K8sWHY ALIBABA CLOUD ACK

机器人调度业务具备潮汐流量波动、海量长连接常驻、业务迭代频繁、瞬时峰值突发等典型特征。传统固定 ECS 架构存在资源利用率低、扩容滞后、运维成本高、故障影响面广等问题。本次选用阿里云 ACK 托管 Pro 版集群,用于适配上述业务特征,在架构扩展性、发布运维效率与资源调度灵活性方面获得改善。

核心优势具体能力说明
全托管控制面阿里云全权运维集群 Master 控制节点,无需客户投入运维成本,规避自建 K8s 集群运维风险与控制面故障风险。
自动弹性扩缩能力支持按机器人在线数量、连接负载、CPU / 内存等多维度指标配置扩缩容策略,由集群自动执行,低谷缩容释放资源、高峰扩容补充算力,降低人工介入频率。
多副本高可用机制支持多副本跨可用区部署、Pod 故障自动重建、节点异常自动迁移,配合健康检查与优雅下线,缩小单点故障的影响范围。
资源混部与按需供给多个服务可共享同一批节点资源,并区分常驻保底资源与峰值弹性资源,改变按峰值常备固定资源的供给模式,缓解长期闲置。
存量资源无缝兼容兼容现有 SLB / CLB、RDS、Redis、OSS、公网带宽等资源,数据层与网络层无需重构。
长连接场景适配优化依托阿里云专有网络、负载均衡与连接复用机制,配合节点内核参数调优与会话保持配置,适配大规模设备长连接常驻场景。
计费规则说明 ACK Pro 集群收取托管服务费(0.64 元 / 小时 / 集群),Worker 节点基于 ECS 常规计费,支持包年包月、按量、抢占式实例混合部署,集群控制面无额外硬件与运维费用。依托极客跳动阿里云生态合作资质,可申请集群与节点专属折扣,用于抵消部分集群托管开销;具体折扣以后续阿里云当期商务政策为准。
图 2-1ECS 与 ACK 资源供给模式对比及关键能力改造前后对照
BENCHMARK COMPARISON
资源供给模式对比(趋势示意) 改造前 · ECS 改造后 · ACK 较高 较低 固定常备 弹性补充 CPU 资源供给 固定常备 弹性补充 内存资源供给 * 仅为供给模式趋势示意,非实测数据,不作为验收指标 关键能力改造前后对照 维度 改造前(ECS 单体) 改造后(ACK 容器化) 扩容时效 小时级 · 人工开通 分钟级 · 策略自动触发 弹性粒度 整机扩缩 · 粗粒度 Pod 级 · 精细按需 故障恢复 人工介入重启 自动重建 · 自动迁移 发布方式 停机发布 · 需公告窗口 灰度滚动 · 分批替换 故障影响面 单模块故障波及全站 服务隔离 · 局部降级 峰值资源成本 按峰值常备固定资源 抢占式弹性补充
读图:左图为资源供给模式的趋势示意 —— 改造前按业务峰值常备固定资源,改造后改为「保底资源 + 峰值弹性补充」,具体水位需结合压测实测,不作为验收指标;右图列出六项关键能力在改造前后的机制差异。整体看,ACK 方案在弹性触发方式、故障自愈、发布方式、成本结构四个维度带来机制性变化,而不仅是一次部署形态的迁移。

2.2为什么是阿里云 ACK:自建 Kubernetes 与托管形态的取舍

容器化解决的是“应用如何部署”的问题,但 Kubernetes 集群本身仍然需要运维。本项目真正要决策的不是“要不要用 K8s”, 而是 K8s 控制面由谁运维。下表列出三种落地形态在运维投入、责任界面与适用场景上的差异。

三种容器平台形态对照

对比维度自建 Kubernetes(ECS + kubeadm)ACK Pro 托管集群ACK Serverless
控制面部署需自行部署并维护 Master 节点(apiserver / etcd / scheduler / controller)阿里云托管,创建后即为可用集群无节点形态,控制面由阿里云托管
控制面高可用需自行设计 etcd 集群、跨可用区部署与故障切换演练由 ACK 提供控制面高可用能力由 ACK 提供
etcd 备份与恢复需自行建设备份策略、恢复演练与容量监控由托管侧负责不涉及
版本升级需自行评估兼容性、安排停窗与回滚预案控制台触发,可按维护窗口安排不涉及
证书轮换需自行处理各组件证书到期轮换由托管侧处理不涉及
故障责任界面控制面故障由自建方承担控制面由阿里云负责,节点与工作负载由使用方负责控制面由阿里云负责
节点管理全部自行管理节点池托管,支持自动伸缩与自动修复无节点,按 Pod 规格与运行时长计费
抢占式实例配合需自行接入弹性伸缩与实例回收处理节点池原生支持不涉及
长连接常驻适配适用适用(本方案采用)常驻型长连接需单独测算持有成本
适用判断团队具备控制面运维能力并有专职投入时可选希望控制面运维由云平台承担时的常规选择短任务、突发型、非常驻负载
SELECTION 选型结论:本项目设备连接属于常驻型负载,且控制面运维不在本次交付范围内,也不建议由甲方团队长期承担。 因此选用 ACK Pro 托管集群 —— 控制面由阿里云负责运维,节点池、网络、发布策略与工作负载由乙方在交付范围内配置, 集群、账号与资源的所有权归属甲方。相关可用性指标以阿里云官方服务等级协议为准,本文档不另行设定指标

2.3与阿里云组件的同厂商协同

选用 ACK 的第二个理由,是它与本方案已选定的其他阿里云组件之间存在原生集成关系, 可以减少自研对接与跨厂商联调的工作量。

本项目已选组件与 ACK 的协同方式对项目的作用
NLB / ALB通过 LoadBalancer Service 与 Ingress 自动同步后端服务器组Pod 漂移、扩缩容后无需人工维护后端列表
抢占式实例节点池原生支持抢占式实例与自动伸缩直接对应 4.2 节潮汐弹性容量模型
SLS 日志服务日志采集组件直连 SLS,按 Namespace / Pod 维度采集无需自建与维护独立的日志采集链路
云监控 / ARMS容器 CPU、内存、网络指标原生上报伸缩策略与观察指标有现成数据源
RAM / RRSA支持为 Pod 绑定独立 RAM 角色访问 OSS、SLS 时无需在配置中保存 AccessKey
多可用区 VPC节点池跨可用区部署,配合拓扑分布约束单可用区异常时仍有可用副本可承接流量
NOTE 上述协同减少的是对接与日常维护工作量,不等同于性能或可用性承诺;实际效果需结合联调与压测结果确认。
图 2-2ACK 运维责任边界划分
RESPONSIBILITY BOUNDARY
阿里云 ACK 托管侧负责 控制面组件 Master 组件部署与运维 控制面高可用 多副本与故障切换 版本与证书 升级通道 · 证书轮换 托管插件 Ingress · 日志 · 监控 乙方 极客跳动 交付范围内 集群规划与搭建 节点池 · 网络 · 存储 应用容器化改造 镜像 · 配置 · 健康检查 弹性与发布策略 伸缩规则 · 灰度 · 回滚 监控告警与交付 告警规则 · 文档 · 培训 甲方 佛山乐普 资源与业务方 账号与权限 主账号 · RAM 授权 资源采购与费用 实例 · 带宽 · 存储 阶段确认与验收 观察确认 · 验收签署 业务配置与数据 业务参数 · 数据归属 注:以上为职责划分的常见形态,用于明确协同界面;本项目最终责任边界以双方合同约定为准。 阿里云对其托管范围的可用性承诺以官方服务等级协议为准,本文档不另行设定数值指标。
读图:三层责任主体自上而下依次为 阿里云 ACK 托管侧(控制面与托管插件)、 乙方极客跳动(集群规划、容器化改造、弹性与发布策略、监控告警与交付)、甲方佛山乐普(账号权限、资源采购与费用、阶段确认与验收、业务配置与数据)。 划分的意义在于出问题时的定位与协同路径明确:控制面异常走阿里云工单,工作负载与策略异常由乙方在交付范围内处理, 资源与业务配置相关事项由甲方决策。

2.4使用 ACK 带来的变化与需要提前确认的前提

综合以上两点,使用 ACK 给本项目带来的变化主要集中在运维分工、资源供给、发布方式与生态对接四个方面。 同时,需要双方提前确认的前提条件一并列出,便于评估。

方面使用 ACK 后的做法说明
控制面运维由阿里云负责控制面组件的部署、高可用与升级团队无需为 etcd、证书、版本升级单独投入人力
资源供给保底包年节点 + 弹性抢占节点,由节点池自动伸缩与 4.2 节潮汐容量模型一致,弹性部分按实际使用计费
发布方式滚动更新 + 分批灰度 + 一键回滚发布粒度到 Deployment,回退路径明确
故障处理Pod 异常自动重建,节点异常自动替换缩小单点故障的影响范围,不代表故障不再发生
生态对接负载均衡、日志、监控、权限均使用云产品原生能力减少自研组件与跨厂商联调
团队要求需掌握 K8s 工作负载、网络与存储的基本运维见下方前提条件
PRECONDITIONS 需要提前确认的四项前提:
技能前提 ACK 降低的是控制面运维投入,不等于“免运维”。甲方团队需具备或培养容器工作负载层面的日常运维能力(镜像、配置、伸缩策略、告警处理),乙方在交付范围内提供配套文档与培训。
费用前提 ACK Pro 按集群收取托管服务费(0.64 元 / 小时 / 集群),属于相对固定的支出。在设备规模较小的档位,该费用在总成本中占比相对明显,已纳入成本估算册一并测算。
版本前提 Kubernetes 版本迭代较快,集群版本需在阿里云支持周期内规划升级窗口,升级安排应避开业务高峰并与甲方协商确认。
网络前提 容器网络插件(Terway / Flannel)的选型会影响 Pod 网段规划与后续扩容空间,需在阶段一确认后不再轻易变更。
3

整体 ACK K8s 架构拓扑(通用形态)OVERALL ARCHITECTURE TOPOLOGY

本次采用分层微服务容器化架构,无状态业务服务实现容器化弹性部署,有状态中间件沿用现有托管架构,兼顾弹性调度能力与数据稳定性,架构体系适配机器人设备调度场景。

图 3-1佛山乐普机器人调度平台 · ACK 云原生整体架构拓扑
MASTER ARCHITECTURE
设备层 机器人设备群 500 / 1,000 / 5,000 / 10,000 / 50,000 台 · 档位为设计参考,非承诺配置 MQTT TCP / WS 接入层 NLB 四层负载均衡 TCP 长连接 · 会话保持 · 健康检查 Ingress 七层网关 HTTP/HTTPS 路由 · TLS 终止 接入治理 · API 防护 设备鉴权 · 限流 · 熔断 · 黑白名单 容器层 阿里云 ACK Pro 托管集群(跨可用区部署) Master 控制面 · 阿里云全托管 · 跨 AZ 3 副本 节点池 A · 网关接入(独占) 跨 AZ 多副本 · 高网络型实例 设备接入网关 Pod × N 握手鉴权 · 心跳保活 · 连接管理 长连接会话保持 TCP 参数调优 · 连接复用 限流熔断 · 接入治理 单设备 / 全局双维度限流 节点池 B · 核心调度(保底) 跨 AZ 多副本 · 包年包月 核心调度服务 Pod × N 路径规划 · 指令下发 任务管理服务 任务编排 · 队列 · 批量下发 设备状态管理服务 在线态 · 轨迹 · 异常告警 节点池 C · 通用业务(可抢占) 混部部署 · 抢占式实例 数据处理服务 日志解析 · 轨迹数据清洗 统计分析与报表 离线聚合 · 业务统计 后台管理服务 设备管理 · 账号权限 · 配置 弹性控制器 HPA(CPU / 内存 / 连接数)· CronHPA(潮汐定时预扩容)· Cluster Autoscaler(节点自动伸缩) 服务治理 服务注册发现 · 配置中心 · 灰度发布 · 熔断降级 · 密钥与证书管理 读写 数据层 Redis 集群 会话 · 在线状态 · 临时调度数据 RDS 高可用集群 主从架构 · 读写分离 OSS 对象存储 日志归档 · 升级包 · 轨迹文件 ↑ 全部复用存量中间件,数据层零改造 观测层 SLS 日志服务 全量采集 · 在线检索 Prometheus + Grafana 容器 / 节点 / 业务指标 ARMS 链路追踪 全链路调用拓扑 告警中心 钉钉 · 短信 · Webhook 旁路采集 · 不侵入业务链路
读图:自上而下五层。设备层经 NLB / Ingress 进入 ACK Pro 托管集群;集群内按业务属性划分 A / B / C 三个节点池做资源隔离:网关接入独占高网络型实例,核心调度使用包年包月保底节点,通用业务可混部并使用抢占式实例。有状态的 Redis / RDS / OSS 全部复用存量资源,数据层零改造;右侧绿色虚线为旁路可观测链路,采集日志与指标但不参与业务主链路。
容器化业务服务 可抢占 / 混部负载 弹性控制 存量中间件(复用) 可观测
架构分层核心部署内容与能力
接入层阿里云 NLB(承接设备 TCP 长连接)+ ALB(承接 HTTP 业务请求)+ ACK Ingress,按协议层分别选型,实现流量分发、会话保持、负载均衡与流量防护。
网关服务层(容器化)设备接入网关 Pod 集群,负责设备握手认证、心跳保活、连接管理、流量限流熔断,支持独立弹性扩容。
调度服务层(容器化)承载任务调度、路径规划、指令下发、设备状态管理等核心业务能力。
数据处理层(容器化)负责日志解析、轨迹数据清洗、业务统计分析等后台数据处理工作。
缓存层复用现有 Redis 集群,存储设备会话、在线状态、临时调度数据,保持高性能稳定运行。
数据持久层复用现有 RDS 高可用集群,依托读写分离架构稳定承载结构化业务数据。
存储层复用 OSS 对象存储,承载日志文件、设备升级包、轨迹文件与系统备份数据。
核心架构策略 业务无状态服务容器化弹性扩缩,数据层中间件沿用成熟托管架构,兼顾弹性伸缩、业务稳定与数据安全三方面诉求。

3.2设备长连接调度全链路数据流

为明确改造后各服务之间的协作关系与数据流向,下面以「设备上线 → 心跳保活 → 平台下发指令 → 设备回执上报」的完整业务闭环为例,说明核心链路的时序设计。

图 3-2设备接入 · 心跳保活 · 指令下发 · 状态回执 全链路时序图
SEQUENCE DIAGRAM
机器人设备 ROBOT DEVICE 设备接入网关 GATEWAY POD 核心调度服务 SCHEDULER POD Redis 会话库 SESSION STORE SLS 日志服务 LOG SERVICE ① 长连接握手 + 设备证书鉴权 ② 鉴权通过,写入设备会话(所在节点 / TTL / 在线态) ③ 周期心跳保活(30s / 60s 可配) ④ 刷新会话 TTL,更新设备在线状态 ⑤ 下发前查询设备所在连接节点 ⑥ 按节点路由下发调度指令 ⑦ 指令经长连接透传下发至设备 ⑧ 执行回执 + 状态 / 轨迹数据上报 ⑨ 全链路日志异步旁路采集上报(不阻塞业务主链路) 注:会话状态集中存储于 Redis,网关 Pod 保持无状态 任一 Pod 重建或扩容均不影响设备长连接归属路由
读图:关键设计点有三 —— ① 网关无状态:设备会话统一落 Redis,网关 Pod 可任意扩缩与重建,连接路由由 Redis 中的「设备 → 连接节点」映射决定;② 指令按节点路由:调度服务先查 Redis 定位设备所在网关节点,再定点下发,避免广播风暴;③ 日志旁路:第 ⑨ 步为异步采集,不参与业务主链路,不增加调度时延。

3.3负载均衡选型:NLB / ALB / SLB 的定位与适用边界

负载均衡是流量入口的关键组件。阿里云提供三类负载均衡产品,能力边界不同 —— 选错会导致长连接成本失控,或七层能力缺失。本节明确三者的差异、本项目的选型结论与判定规则。

三类负载均衡能力对照

对比维度NLB(网络型)ALB(应用型)SLB / CLB(传统型)
工作层四层(TCP / UDP / TCPSSL)七层(HTTP / HTTPS / QUIC)四层 + 七层
单实例并发能力亿级,自动弹性,无需预选规格十万级,按 LCU 扩展需预选规格,高阶型约百万级
长连接单位成本 1 LCU ≈ 10 万并发连接 1 LCU ≈ 3,000 并发连接中 按实例规格 + 连接数计费
七层路由能力不支持完整(域名 / URL / Header / gRPC)基础(HTTP / HTTPS 转发)
HTTPS 证书卸载不支持支持支持
会话保持源 IP / 四元组Cookie / 源 IPCookie / 源 IP
后端权重与灰度支持支持支持
产品定位新增长连接首选新增 HTTP 业务首选存量沿用,不建议新建
关键差异 NLB 1 LCU ≈ 10 万并发连接,ALB 1 LCU ≈ 3,000 并发连接,相差约 33 倍。 设备长连接若误用 ALB,LCU 数量与费用会明显上升,而七层能力在长连接场景基本用不上 —— 这是本项目成本核算按 NLB 测算的原因(详见《阿里云资源成本估算》分册)。

本项目选型结论

流量类型选型判定理由
机器人设备长连接接入
核心链路 · MQTT / 私有 TCP
NLB 设备常驻长连接规模大;NLB 亿级并发、自动弹性,无需预估规格;长连接单位成本约为 ALB 的三十分之一
HTTP 管理后台 / OpenAPIALB 需要域名与 URL 路由、HTTPS 证书卸载、Header 处理等七层能力
存量 SLB / CLB沿用 → 逐步下线 存量实例已付费且运行稳定,迁移期复用承载灰度流量;迁移完成并观察稳定后释放,避免重复投资
不推荐的方案ALB 承载设备长连接 1 LCU ≈ 3,000 并发,十万级设备常驻会使 LCU 数量与费用明显上升,且七层能力在长连接场景用不上
图 3-3负载均衡选型决策路径
LOAD BALANCER SELECTION
入口流量:先看协议层与连接特征 TCP / UDP 长连接 设备常驻接入,无需解析 HTTP 内容 HTTP / HTTPS 请求 需域名 / URL 路由、证书卸载 存量 SLB / CLB 已在运行 仅做四层转发,暂不改造 NLB 网络型负载均衡 四层 · 亿级并发 · 自动弹性 长连接单位成本最低 ALB 应用型负载均衡 七层 · HTTPS 卸载 · 完整路由 面向管理后台与 OpenAPI 沿用存量 SLB / CLB 不新增实例 · 承载灰度流量 迁移完成并观察稳定后释放 判定规则:长连接走 NLB、HTTP 业务走 ALB,两者可并存、互不冲突;存量 CLB 不改造、迁移后下线。 关键差异:NLB 1 LCU ≈ 10 万并发连接,ALB 1 LCU ≈ 3,000 并发连接 —— 长连接场景选错会导致 LCU 数量与费用明显上升。
读图:选型只看两个问题 —— ① 是不是长连接?是则走 NLB;② 要不要七层能力?需要域名路由 / HTTPS 卸载 / Header 处理则走 ALB。 两者不是二选一,而是按协议层并存:设备长连接入口与 HTTP 业务入口各用各的,互不影响。
与灰度切流的衔接 三类负载均衡均支持后端服务器组权重配置,因此第五章的灰度切流机制在 NLB、ALB、存量 CLB 上一致: 设备长连接链路调整 NLB 后端服务器组权重,HTTP 链路调整 ALB 后端服务器组权重, 存量链路调整 CLB 后端权重 —— 均在同一实例上完成,不涉及 DNS 切换,回退只需把权重改回去。
4

项目核心落地优化策略IMPLEMENTATION OPTIMIZATION

针对机器人调度业务「长连接密集、潮汐波动明显、峰值突发频繁」三大特征,本方案在标准 ACK 部署之上追加六项专项优化,使架构能力更贴合实际业务负载特征。

图 4-1六大核心落地优化策略与预期效果
OPTIMIZATION MATRIX
六大核心落地优化策略 · 覆盖连接稳定性 / 弹性调度 / 资源隔离 / 算力释放 / 成本控制 / 高可用 1 长连接稳定性优化 TCP CONN STABILITY 优化 ACK 节点内核 TCP 参数(连接队列、 keepalive、连接复用),开启会话保持机制 → 改善长连接保持稳定性 2 多维弹性调度优化 MULTI-DIM AUTOSCALING 基于在线设备数量、CPU 负载、长连接数 多维度指标组合触发扩缩容决策 → 精准适配业务潮汐波动 3 业务节点池资源隔离 NODE POOL ISOLATION 网关高并发接入链路独占节点池,与数据 处理、日志分析类业务做资源硬隔离 → 保障核心调度业务资源优先级 4 日志算力解耦 LOG DECOUPLING 容器日志全量对接 SLS 云端采集,业务 节点零本地落盘,剥离 IO 压力 → 释放本地算力,回归核心业务 5 潮汐场景资源精细化调度 COST OPTIMIZATION 「包年包月保底节点 + 抢占式峰值节点」 混合架构,核心业务稳定兜底 → 峰值算力按需补充、按量计费 6 全链路高可用加固 HIGH AVAILABILITY 核心服务多副本跨可用区部署,Pod 自愈、 节点自动迁移 + 全链路日志可观测 → 保障系统持续高可用运行
读图:六项策略按目标可分为三组 —— ①②③ 解决「能不能扛住」(连接、弹性、隔离);④⑤ 解决「划不划算」(算力释放、成本结构);⑥ 解决「稳不稳」(跨 AZ 高可用)。其中策略 ③ 与 ⑤ 是本次成本优化的核心抓手,二者配套实施效果更佳。各项策略的实际收益受业务负载特征影响,以压测与试运行数据为准。

4.2节点池隔离设计与潮汐弹性容量模型

节点池隔离是本次架构设计中最关键的一项工程决策:机器人调度属于典型的「接入型 + 计算型」混合负载,若网关长连接与后台数据处理混部在同一批节点上,离线批处理任务的 CPU / 内存峰值会直接挤压长连接的可用资源,导致设备大面积掉线。通过节点池硬隔离 + 差异化计费策略,可同时解决稳定性与成本两个问题。

图 4-2节点池隔离设计与 24 小时潮汐弹性容量模型
NODE POOL & TIDE SCALING
节点池隔离策略 节点池 A GATEWAY 网关接入链路 · 独占高网络型实例 包年包月 · 不与其它业务混部 · 长连接密集 节点池 B SCHEDULER 核心调度链路 · 通用型实例 包年包月保底 · 跨 AZ 多副本 · 核心业务 节点池 C GENERAL 数据处理 / 后台管理 / 批处理 抢占式实例 · 混部部署 · 可中断 资源隔离边界 调度保障机制 节点池之间资源互不抢占;网关与核心调度使用 保底资源,通用业务使用抢占式实例 —— 即使抢 占式实例被回收,核心调度链路不受影响。 → 稳定性与成本同时达成 24 小时潮汐流量与弹性容量模型 00:0003:0006:00 09:0012:0015:00 18:0021:0024:00 高峰 09:00 · HPA 自动扩容 低谷 · 缩容至保底 包年包月保底容量 抢占式弹性补充容量(按需计费) 包年包月保底容量(稳定兜底) 实际设备在线负载曲线
读图:左图为三个节点池的隔离与计费策略;右图为典型的 24 小时潮汐容量模型 —— 蓝色区域由抢占式实例按需补充,橙色区域为包年包月保底容量。关键收益:传统 ECS 架构必须按「峰值 + 冗余」常备资源(即整条曲线的最高点),而本方案只需为橙色保底部分付费,峰值部分按秒计费,低谷时段(约 00:00–07:00)自动缩容。
工程提示 抢占式实例存在被回收的可能,因此严禁将网关接入与核心调度服务调度到节点池 C。实践中通过 nodeSelector / taint-toleration 强制约束调度,并配置 PodDisruptionBudget 约束核心服务最小可用副本数。
5

落地实施与平滑迁移方案MIGRATION ROADMAP

迁移的核心原则是「先立后破、灰度切流、随时可退」:先在 ACK 上完整搭建并验证新架构,再通过负载均衡后端服务器组权重(设备长连接链路为 NLB、HTTP 链路为 ALB)逐步将生产流量从 ECS 迁移过来,按权重分批切换,不做一次性割接。

实施排期口径说明 本章及图 5-1、图 5-2 中的阶段划分、切流权重比例、观察时长等均为实施顺序与方法示意, 用于说明迁移思路与风险控制方式,不构成工期承诺、里程碑承诺或任何量化交付指标。 实际排期受甲方环境准备进度、联调配合、第三方依赖、压测结果与双方确认节奏等因素影响, 须在进场后由双方共同确认项目计划;每一阶段的推进以观察指标达标且双方共同确认为前置条件。
图 5-1五阶段平滑迁移路线图(阶段划分示意)
PHASED ROLLOUT
1 2 3 4 5 PHASE 01 现状评估与集群搭建 · 存量资源与依赖盘点 · ACK Pro 集群与网络规划 · 镜像仓库 / CI-CD 流水线 不影响生产 PHASE 02 无状态服务容器化 · 网关 / 核心调度优先改造 · 镜像构建与配置分离 · 存量中间件连通性验证 不影响生产 PHASE 03 灰度切流与并行运行 · 小流量灰度并逐步放量 · ECS / ACK 双轨对比监控 · 性能与稳定性观察调优 双轨并行 PHASE 04 全量切换与存量下线 · 流量全量切至 ACK · ECS 存量保留观察期 · 确认无异常后逐步释放 可回退窗口 PHASE 05 观测调优与验收交付 · 弹性策略与成本调优 · 交付文档与运维培训 · 按第六章标准逐项验收 验收交付 回退保障 存量 ECS 在切换期内全程在线保留:任一阶段指标异常,调整 NLB / ALB 后端服务器组权重即可将流量切回 ECS,控制异常影响范围。
读图:阶段 ①→② 属于「建设期」,不影响生产;阶段 ③ 是风险控制的关键窗口,双轨并行可随时回退;阶段 ④ 完成后 ECS 仍保留一个观察期,确认无异常再释放,避免不可逆操作。

5.2灰度切流权重与观察指标

灰度切流采用NLB / ALB 后端服务器组权重与 Ingress 权重调整实现,不涉及 DNS 切换,回退操作简便。每一阶段设置明确的观察指标与停留时长,达标后方可进入下一阶段。

图 5-2四阶段灰度切流权重与观察重点
CANARY TRAFFIC SHIFT
ECS 存量服务 ACK 新集群 流量权重分配 本阶段观察重点 阶段一 · 小流量验证 CANARY 5% 95 : 5 握手成功率、鉴权耗时、长连接稳定性 阶段二 · 半量灰度 CANARY 50% ECS 50% ACK 50% 50 : 50 调度时延、指令到达率、Pod 资源水位 阶段三 · 主流切换 CANARY 90% ACK 90% 10 : 90 节点负载、GC 表现、Redis 连接数 阶段四 · 全量上线 RELEASE 全量 ACK 全量 0 : 100 全量稳定性观察 72h,确认后释放 ECS 回退机制 任一阶段指标异常 → 调整 NLB / ALB 后端服务器组权重即可切回 ECS 存量服务,无需重新部署、无需变更 DNS。
读图:权重切换在同一个负载均衡实例的后端服务器组上完成,因此回退是「改一个数字」的操作,而非重新发布。这是本方案迁移风险相对可控的主要原因。
实施要点具体实施方案
业务平滑迁移先完成 ACK 集群搭建与服务容器化部署,通过负载均衡后端权重灰度切流方式分批替换原有 ECS 服务;切换期内 ECS 保持在线,出现异常可快速切回,避免不可逆操作。
分阶段低风险落地优先完成网关、核心调度等无状态服务容器化改造,稳定后迭代后台服务,全程复用存量中间件资源,控制改造风险。
阶梯式成本优化落地依托阿里云生态合作资质,可申请集群与节点专属折扣,用于抵消部分集群托管开销;实际支出以最终选型配置与阿里云当期商务政策为准。
6

项目交付验收标准ACCEPTANCE CRITERIA

本章为项目标准化交付验收依据,以架构合规落地、功能完整可用、系统运行稳定、优化效果达标为核心,基于常规生产运行场景制定验收标准,不设置极限压力、极端容错等严苛考核指标,保障项目平稳合规交付。

图 6-1验收体系全景:6 大类 · 21 项验收条目
ACCEPTANCE SYSTEM
项目验收 ACCEPTANCE 6 大类 / 21 项 常规生产场景 · 非极限压测 6.1 4 项 架构改造验收 微服务解耦 · 容器化部署 高可用架构 · 存量兼容 6.2 4 项 日志系统优化验收 云端体系落地 · 正常上报 可运维溯源 · 运行稳定 6.3 4 项 业务功能与稳定性 设备接入稳定 · 业务闭环 故障自愈生效 · 生产稳定 6.4 3 项 弹性扩容能力验收 弹性策略生效 · 潮汐适配 弹性功能稳定可靠 6.5 3 项 资源与成本优化验收 混合供给架构 · 按需分配 整体成本可控可预期 6.6 3 项 交付资料与运维完整性 交付资料完整 · 运维能力落地 交付资料齐备可交接
读图:验收体系围绕「架构是否合规落地」与「效果是否达成预期」两条主线展开,共 6 大类 21 项条目,全部基于常规生产场景,不设置极限压力与极端容错指标。

6.1架构改造验收标准

验证微服务拆分、ACK 容器化部署、多可用区容灾架构符合方案设计规范,整体改造完整落地。

验收条目验收标准说明
业务微服务解耦系统完成原有单体架构业务拆分,按业务域形成独立微服务模块,实现业务解耦,无模块混用、架构耦合问题。
容器化合规部署所有无状态业务服务完成 ACK K8s 容器化部署,容器调度、资源配额、节点调度策略运行正常,符合云原生部署规范。
高可用架构落地集群实现双可用区及以上容灾部署,核心服务多副本运行,具备故障自愈、弹性扩缩能力,完成对传统 ECS 单体架构的升级替代。
存量资源兼容适配存量 SLB / CLB、RDS、Redis、OSS 等资源无缝兼容,数据层无需改造,架构切换对上层业务透明。

6.2日志系统优化验收标准

验证云端日志体系改造落地完成,实现日志全量云端采集、上报与检索,满足日常运维管理需求。

验收条目验收标准说明
云端日志体系落地全链路业务服务完成阿里云 SLS 日志服务对接,承接原有本地日志存储职责,云端日志体系改造落地。
日志正常上报设备心跳、任务调度、设备轨迹等全量业务日志可实时、正常上报至云端日志平台。
日志可运维溯源云端日志支持检索、查看、溯源,可用于日常故障排查与业务分析,并缓解服务器本地 IO 占用。
日志运行稳定日志格式统一规范,采集完整、上报稳定,无大面积日志丢失、异常报错问题。

6.3业务功能与稳定性验收标准

以机器人调度核心业务完整可用、运行稳定为验收核心,基于常规生产场景开展验收。

验收条目验收标准说明
设备接入稳定机器人设备可正常上线、握手接入、心跳保活,长连接状态稳定,日常生产无频繁异常断连、重连现象。
核心业务闭环系统任务调度、指令下发、设备状态上报、轨迹数据采集等核心业务流程闭环完整、运行正常。
集群故障自愈生效K8s 集群故障自愈能力生效,单 Pod 故障可自动重建、节点异常可自动迁移,不影响整体业务运行。
整体生产稳定系统适配对应量级机器人并发运行,日常生产运行平稳,未出现因架构改造导致的系统性服务异常。

6.4弹性扩容能力验收标准

验证集群弹性扩缩功能正常生效,可自适应业务潮汐波动,实现资源智能调度。

验收条目验收标准说明
弹性策略生效集群弹性扩缩策略配置生效,可根据业务负载、设备连接量自动完成 Pod 资源扩容与缩容。
潮汐资源适配系统可按设备高峰、低谷运行负载变化动态调整资源调度策略,缓解低谷期资源闲置。
弹性功能稳定弹性功能运行稳定,无扩容失败、缩容卡死、调度异常等问题,满足日常业务弹性运行需求。

6.5资源与成本优化验收标准

验证混合供给架构落地生效,资源配置与业务负载相匹配,成本结构可预期、可追溯。

验收条目验收标准说明
混合供给架构落地完成「保底包年包月节点 + 峰值弹性节点」混合架构落地,资源按业务负载分配,无长期过度冗余配置。
资源调度机制生效容器混部与资源配额机制生效,资源按服务实际用量动态分配,改变按峰值常备固定资源的供给模式。
整体成本可控各量级场景下云资源投入与方案估算区间一致,成本构成清晰可追溯,便于后续按实际用量持续调优。

6.6交付资料与运维完整性验收

验收条目验收标准说明
交付资料完整项目交付完整成套资料,包含架构部署文档、容器配置说明、日志运维手册、迁移实施文档等,资料规范完整,可支撑甲方日常运维工作。
运维能力落地系统监控、告警体系、日志运维能力全部落地,支持甲方自主开展系统查看、故障排查、资源管理等运维工作。
业务兼容适配改造后系统兼容原有设备通信协议、调度指令与接入规则,存量设备无需改造、无需适配,可平滑接入新架构;切换期内 ECS 与 ACK 双轨并行,降低业务中断风险。
运维习惯适配系统完整保留原有后台管理、设备管理、任务操作、数据查询等常用功能,运维操作方式无变更、无学习成本,不影响甲方日常生产办公。
7

方案总结CONCLUSION

本项目通过 ACK 云原生容器架构升级 + 云端日志体系重构,系统性改善传统 ECS 单体架构扩展性弱、资源按峰值常备、日志占用系统算力、大并发下稳定性不足等核心问题。改造后系统在资源调度方式、发布运维效率、故障恢复机制与横向扩展能力四个维度获得改善,并为后续设备规模增长与业务形态扩展预留架构演进空间。

图 7-1改造后云原生核心能力总览
CAPABILITY OVERVIEW
01 高可用 HIGH AVAILABILITY 多副本 多副本跨可用区 + 故障自愈 02 弹性伸缩 AUTO SCALING 按需 HPA / CronHPA / 节点自动伸缩 03 服务解耦 DECOUPLED SERVICES 5 大域 微服务独立部署与扩容 04 故障自愈 SELF-HEALING 自动 Pod 自动重建 + 节点故障迁移 05 全链路可观测 OBSERVABILITY 4 合 1 日志 / 监控 / 追踪 / 告警 06 平滑演进 FUTURE-PROOF 可扩展 新增设备与功能无需重构
读图:改造后系统具备多副本跨可用区部署、微服务解耦、故障自愈、策略化弹性伸缩、全链路可观测等云原生核心能力,架构规范、具备横向扩展能力,可适配当前生产需求,并为后续设备规模增长与业务形态扩展预留演进空间。

7.1长期价值与演进空间

  • 弹性能力适配业务:系统可根据设备在线规模与业务负载自动调度资源,高峰承载业务压力、低谷释放闲置资源,无需人工频繁干预。
  • 日志运维能力达标:云端日志体系运行稳定,可支撑日常故障排查、设备溯源、调度记录查询等常规运维场景,满足常态化运维分析需求。
  • 架构迭代兼容:微服务容器化架构具备良好扩展性,可支撑后续新增设备类型、新增业务功能、版本迭代升级,无需重构底层架构,架构前瞻性充足。
  • 建设内容对齐:项目按方案约定的建设范围逐项实施,架构优化、日志优化、弹性配置、高可用能力均在第六章节验收清单中对应可查,验收时逐项核对确认。
结论 整体方案在架构形态、实施路径与验收方式上具备可落地性 —— 面向佛山乐普当前的机器人生产调度场景,并为后续设备规模变化与新增业务形态预留架构演进空间
A

附录 A · 设备规模档位与推荐资源配置对照SIZING REFERENCE

下表为不同设备规模档位下的建议基准配置,用于项目立项预算评估与资源规划。实际配置需结合设备心跳频率、单条指令数据量、轨迹上报密度等参数,在阶段二压测后做最终确认。

设备规模节点池 A(网关接入)节点池 B(核心调度) 节点池 C(通用业务)建议规格方向说明
500 台2 节点2 节点1–2 节点4C8G 起步小规模起步档位,后续可按实际负载逐步扩展
1,000 台2 节点2–3 节点2 节点4C8G / 8C16G建议开启跨 AZ 双副本
5,000 台3–4 节点3–4 节点2–3 节点8C16G 起步长连接数成为主要扩缩容指标
10,000 台6–8 节点5–6 节点3–4 节点8C16G / 16C32G建议启用 CronHPA 潮汐定时预扩容
50,000 台20+ 节点15+ 节点8+ 节点16C32G 起步需专项压测;建议网关分片 + 连接分域
100,000 台架构已预留扩展能力需评估多集群 / 多地域部署方案
免责说明 上表为规划建议基准值,非承诺配置。最终节点规格与数量以阶段二容器化完成后的实测压测数据为准,并在阶段五成本调优环节做二次收敛。存量 Redis / RDS / OSS 规格需同步评估是否需要随规模档位升级。
8

关于极客跳动ABOUT GEEKDANCE

极客跳动 · GEEKDANCE

做全球最靠谱的技术服务团队

极客跳动(GeekDance)成立于深圳,是一家面向企业的技术服务公司。我们专注于云原生、人工智能与企业级应用交付,已经为机器人调度、智能制造、新零售、跨境贸易等场景的客户提供端到端的方案设计与落地实施。

本次为佛山乐普提供的机器人调度平台架构升级方案,由我们技术架构部 · 云原生交付团队负责设计。本方案所选用的阿里云 ACK Pro 托管 Kubernetes、NLB 网络型负载均衡、SLS 日志服务等组件,均为团队长期打磨的服务能力沉淀。

云原生架构 ACK Pro 专家服务 多端交付 FDE 落地模式 SRE 驻场支持
极客队长 GeekCaptain · 极客跳动官方品牌 IP 形象
极客队长 GeekCaptain · 官方品牌 IP