一、业务全景与演进背景
1.1 系统定位
SLDS 是覆盖全球多市场的端到端物流履约网络,核心定位为:
- 提供贴合本地市场需求的差异化快递服务(标准 / 经济 / 高端、驿站、储物柜等)
- 作为电商平台降本增效、提升用户体验的核心战略能力
1.2 物流网络演进三阶段
随着订单量和站点复杂度的提升,SLDS 的物流网络从 "单中心落地配" 逐步演进为 "弱中心网状结构"
| 阶段 | 网络结构 | 核心特点 | 驱动因素 |
|---|---|---|---|
| 阶段一:单中心落地配 | 星型拓扑,以仓储为唯一中心 | 围绕仓储进行 LM 配送,结构简单 | 业务初期,订单量和站点规模有限 |
| 阶段二:多中心(FM→MM→LM) | 双中心枢纽 - 辐射模型 | FM、MM、LM 多中心协同,形成双中心节点 | 订单量增长,需要更高效的干线运输和区域分拣 |
| 阶段三:弱中心(网络) | 网状拓扑,中心节点弱化 | 外围站点间形成网状连接,路由更灵活 | 站点数量和类型激增,路由网络复杂度大幅提升 |
1.3 系统在生态中的定位
SLDS 作为供应链物流生态的核心地面系统 (SLDS 和 TWS),与其他系统协同完成履约
- 接收来自内部购物平台 和开放物流 的订单,通过 CDMLS 流转
- 与 WMS、OMS、3PL 等系统协同工作
- 是连接线上订单与线下履约的关键枢纽
二、SLDS 1.0:单体架构的瓶颈与挑战
2.1 1.0 架构核心特征
SLDS 1.0 是典型的单体应用架构 ,核心技术栈为 Python ,在业务初期凭借 "快速迭代、部署简单" 的优势支撑了履约需求,但随着规模扩张,其底层设计的局限性逐渐凸显
- 代码与数据高度集中 :所有业务逻辑、状态管理和数据存储均集中在单一代码库与共享数据库 中,形成 "牵一发而动全身" 的强耦合结构
- 订单服务为绝对核心 :订单基础服务(核心状态机) 是所有业务操作的 "强依赖中心" ,揽收、分拣、派送、结算 等环节均需通过同步调用依赖该服务,任何变更都可能引发连锁反应
- 性能与容量瓶颈 :随着订单量从百万级跃升至亿级,系统响应时间(RT)持续攀升,优化空间趋近于零,已无法支撑业务的高速增长
2.2 面临的核心挑战
随着业务爆发式增长,SLDS 1.0 的问题集中暴露为三大维度的挑战,形成了 "业务痛点 → 技术瓶颈 → 管理成本" 的恶性循环
2.2.1 业务体验挑战(对"人"和"业务"的影响)
核心是业务运营和用户可直接感知的痛点 ,直接影响履约效率与市场响应速度
- 运营效率低下 :如 SOC 收货时,需跨多个服务同步调用多次验证 ,平均响应时间在 5s 以上,严重拖慢一线操作节奏
- 交付周期冗长 :强耦合架构 导致新功能扩展困难,业务需求从提出到落地的周期长达数月,无法快速响应市场变化
- 市场适配性差 :不同国家/地区的业务规则差异大,系统缺乏灵活定制能力,难以快速适配本地化需求
2.2.2 技术架构挑战(对"系统"本身的影响)
核心是底层架构的结构性缺陷,是所有问题的根本来源
- 性能瓶颈凸显 :系统性能已达上限,订单量激增时 RT 居高不下,且因耦合严重,优化空间极其有限
- 依赖关系复杂 :服务间形成 "网状依赖",调用链路长且深,一个简单操作需串联多个服务,故障排查难度极大
- 扩展性严重不足 :系统按 "功能" 而非 "领域" 划分模块,领域模型未拆分,新功能扩展成本高昂,难以支撑长期增长
2.2.3 研发管理挑战(对"团队"和"交付"的影响)SOO
核心是技术债带来的团队协作与工程效率问题
- 协作效率低下 :单一代码库导致多团队并行开发时冲突频繁,代码合并与发布管理成本极高
- 职责边界模糊 :模块划分不清,开发团队职责不明,问题定位与根因分析耗时耗力,排障效率低下
- 交付成本高昂 :复杂的依赖关系要求每次变更都需大量回归测试,研发与维护成本居高不下
2.3 1.0 技术架构与模块划分
SLDS 1.0 采用四层架构设计 ,虽在初期满足了履约需求,但各层间的强依赖关系最终成为系统演进的核心障碍
2.3.1 从上到下的四层架构分层
- 应用层 :面向不同角色提供交互入口
- WMS:对接仓库出库流程
- 物流调度系统(CDMLS 等系统):接收上游订单与调度指令
- 运营管理系统:供运营人员进行站点管理、任务分配等操作
- 一线操作终端(PDA / Driver App):供分拣员、司机执行收货、扫描、派送等任务
- 用户官网:供用户查询包裹轨迹等信息
- 接口层 :封装三类核心 API ,作为内外系统的交互枢纽
- Open API :对接 WMS、CDMLS 等上游系统,处理订单创建、轨迹查询、包裹出库等核心业务
- Admin API :为运营管理系统 和 PDA 提供站点操作、报表导出等能力
- Driver API :为 Driver App 提供任务领取、路径导航、签收确认等功能
- 逻辑层 :系统核心,也是耦合问题最集中的区域
- 业务主流程模块 :订单服务、揽收 / 投递服务、运输服务、派送服务、P2P 服务,串联包裹从下单到签收的全链路
- 辅助业务模块:财务服务、报表服务、人员服务,支撑运营结算与管理
- 订单基础服务(核心状态机) :管理订单全生命周期状态流转,是所有业务操作的强依赖
- 基础数据模块:站点服务、地址服务、服务类型服务、司机服务等,其他基础数据支撑
- 存储层 :采用多样化的存储技术栈
- Redis:缓存热点数据与会话信息
- MySQL(主从):存储核心业务数据
- Elasticsearch:用于订单轨迹与日志检索
- RabbitMQ:处理异步消息队列
- S3:存储面单、图片等对象数据
2.3.2 核心模块依赖关系
所有业务服务(订单、揽件、分拣、派送等)均直接依赖订单基础服务 ,而订单基础服务 又与站点、地址、服务类型等基础数据模块 "深度耦合" ,形成了 "订单服务为中心,所有模块围绕其运转" 的强耦合结构 ,这也是 SLDS 1.0 难以扩展的核心原因。
三、SLDS 2.0:分布式架构的演进路径
3.1 演进三阶段:从单体到分布式
SLDS 2.0 的演进分为两个关键阶段,逐步实现领域解耦和技术栈升级
| 阶段 | 技术特征 | 核心策略 |
|---|---|---|
| L0 级别升级 | 分布式系统,按业务领域解耦,Python 与 Go 共存 | 优先解耦旧系统,同时交付新业务需求,最小化 SOP 变更 |
| L1 级别升级 | 全面迁移至 Go 语言,强调架构分层与业务抽象 | 各子域独立制定路线图,实现能力原子化和产品化 |
3.2 "2.0 业务架构":领域解耦的核心设计
SLDS 2.0 的业务架构以领域解耦 为核心,通过调度中心和事件中心 实现异步协作 ,支持各领域独立开发
3.2.1 顶层核心服务
- 订单中心:负责订单处理与运营监控
- 调度中心:制定调度策略与运营计划,驱动各运营域执行
- 追踪服务:提供全链路包裹追踪能力
- 事件中心:捕获和分发运营事件,驱动订单状态更新
3.2.2 网络规划服务
网络规划、前置时间规划
3.2.3 中间层运营服务库
按业务领域划分核心运营能力 ,每个领域包含 "运营" 和 "管理" 两层:
- FM / LM 域:揽收、派送、任务管理、揽收点管理
- Instation 站内域 :入库 / 出库、打包、ASM 操作、任务管理
- LH 域:干线交接、运输、行程管理、资源管理
- SP 域:投递、自提、库存管理、合作伙伴管理
- Locker 储物柜:投递、自提、司机操作、合作伙伴管理
- 异常域:拦截后任务处理、任务管理
- SLPS / Flex 灵活服务:揽收、任务管理
3.2.4 智能解决方案
智能分拣、智能揽收、智能派送
3.2.5 底层通用服务
- 供应链通用服务:财务、数据 / 算法
- 劳动力管理 & 司机管理:劳动力、司机管理
- 通用服务 :COD 货到付款、钱包、资产 / 车辆、基础数据、账户、容器
3.3 领域解耦机制:调度中心 + 事件中心
SLDS 2.0 的核心架构创新,是通过 "调度中心 + 事件中心" 的双中心设计 ,彻底打破了 1.0 时代 "订单中心为强依赖" 的单体架构 ,实现了各业务域的完全解耦 。这一设计的可行性,根植于快递运营系统的两大天然特征:
- 运营前:计划 / 任务驱动
包裹在进入任何操作环节(如揽收、分拣、派送)前,其路由、操作节点和资源分配 均可通过 SOP 提前规划,无需依赖实时查询 - 运营后:事件驱动
两次操作(如 "分拣完成" 到 "干线发车" )之间天然存在秒级至分钟级的延迟 ,订单状态的更新无需与操作本身强同步 ,为异步解耦提供了空间
这两大特征,使得我们可以将 "操作执行" 与 "状态流转" 彻底分离,通过 "预计划 + 事后事件" 的模式重构系统协作。
3.3.1 订单信息流:从 "实时查询" 到 "预计划驱动"
在 1.0 架构 中,运营域(如 SOC )扫描包裹时,必须同步调用订单中心 API 获取订单信息进行验证,导致链路长、RT 高。2.0 架构 通过预生成运营计划,彻底改变了这一模式:
- 订单中心下发订单 :订单中心 将订单信息(如目的地、服务类型)发送至调度中心
- 调度中心生成计划 :调度中心 根据 SOP 和网络规划 ,决策该包裹将由哪个运营域(如站内、派送)处理,并提前向该域推送运营计划(包含所有必要的订单和路由信息)
- 运营域生成 SOO :运营域接收运营计划 后,在本地生成各自的 SOO,将所有验证所需信息预存在本地
- 本地验证,无需调用 :当运营人员扫描包裹时,系统直接使用本地 SOO 中的信息完成验证,不再向订单中心 或其他服务发起任何 API 调用
这一流程彻底切断了运营域对订单中心的强依赖 ,将 "同步查询" 转变为 "预计划驱动",大幅降低了操作响应时间。
3.3.2 订单状态 / 运营事件流:从 "同步更新" 到 "事件驱动"
在 1.0 架构 中,订单状态的更新与操作执行强绑定 ,任何操作都必须同步更新订单中心 ,导致 "牵一发而动全身" 。2.0 架构 通过事件中心,将 "操作执行" 与 "状态流转" 解耦:
- 运营域推送事件 :运营域(如派送)完成操作(如 "包裹签收" )后,将操作结果封装为运营事件 ,推送至事件中心 ,并在本地生成 SOR 留存
- 事件中心分发事件 :事件中心 将运营事件 异步推送至订单中心
- 订单中心更新状态 :订单中心 通过预设的映射规则,将运营事件 转换为对应的订单状态(如 "派送完成" → "已签收"),完成状态更新
这一流程使得操作执行与状态更新完全异步 ,即使订单中心出现短暂故障,也不会影响一线运营的正常进行,同时大幅简化了服务间的依赖关系。
3.3.3 解耦核心机制:三大转变
通过调度中心 + 事件中心 的双中心设计 ,SLDS 2.0 实现了三大关键转变 ,从根本上解决了 1.0 的架构痛点:
- 从 "实时查询" 到 "预计划驱动"(操作执行层)
运营域不再在扫描包裹时实时调用订单中心 API 进行验证,而是依赖调度中心 预生成的运营计划 完成本地校验。这一转变直接降低了操作响应时间(RT),消除了运营域对订单中心的强依赖 - 从 "同步更新" 到 "事件驱动"(服务协作层)
各业务域之间不再通过同步 API 直接耦合,所有协作通过事件中心异步完成 。运营域只向事件中心 推送操作事件 ,而不关心后续谁会消费这些事件,彻底打破了 "网状依赖",实现了真正的领域自治 - 从 "强同步" 到 "最终一致性"(数据状态层)
订单状态的更新不再与操作执行强绑定,而是通过事件异步完成 。系统接受 "操作完成" 与 "订单状态更新" 之间的短暂延迟,换取了更高的可用性 ------ 即使订单中心短暂故障,一线运营也不会中断,同时提升了系统的整体扩展性
这三大转变,使得 SLDS 2.0 从 "订单中心为核心的单体架构" ,演进为 "多域自治、事件驱动的分布式架构",为业务的高速增长提供了坚实的技术基础。
四、全球部署架构
4.1 部署核心原则
- 按需部署运营服务库:市场使用某项能力时再部署对应服务
- 模块化访问第三方系统 :如 SLPS 和 Flex 系统
- 资源与逻辑隔离 :每个域拥有独立的应用和数据库,便于问题定位和修复
4.2 部署架构层次
- 用户接口层 :合作伙伴集成系统、运营管理系统、PDA、Driver App、SP 、智能设备(ASM / Locker)
- 路由与网关层 :SGW(IDC)/ ALB + Haproxy(GCP) ,按 URL 路由到对应服务器
- 运营域部署层:各运营域独立部署,资源隔离
五、SLDS 2.0 的完整子域划分:23个核心业务域
SLDS 2.0 将系统划分为 23 个核心子域,覆盖核心、运营、支撑三大层面:
5.1 核心子域(5个)
- 订单中心:订单处理与运营监控
- 追踪中心:全链路包裹追踪
- 调度中心:调度策略与计划管理
- 事件中心:事件捕获与分发
- 异常中心:异常拦截与处理
5.2 运营子域(8个)
- Pickup 揽收 :FM 揽收业务
- Delivery 派送 :LM 派送业务
- Instation 站内 :SOC 运营
- 站内的 ASM :ASM 操作
- 容器服务:包裹容器管理
- 干线 / 车辆管理:干线运输与车辆调度
- SP:SP业务运营
- Locker:智能储物柜业务
5.3 支撑子域(10个)
- 智能解决方案:智能分拣、揽收、派送
- 网络路由:路由规划与优化
- 服务区域:服务范围管理
- 司机:司机信息与绩效管理
- 劳动力:劳动力管理系统
- 财务:财务管理与结算
- 钱包:司机钱包服务
- 基础:基础数据与服务
- 对账 & 数据导出平台:对账与数据报表
- 资产:资产与车辆管理
六、架构演进总结
6.1 关键改进
- 从单体到分布式 :解决强耦合问题,实现领域解耦 与独立开发
- 从同步到异步 :通过事件中心 和调度中心 实现异步协作,减少服务依赖
- 从功能分组到领域划分:按业务领域重构系统,提升扩展性和维护性
- 技术栈演进 :从 Python 全面迁移至 Go,提升性能和可维护性
6.2 架构优势
- 领域解耦 :支持各子域独立迭代,快速响应业务需求
- 灵活部署 :按需部署运营服务,适配不同市场的差异化需求
- 资源隔离 :每个域独立部署,问题定位和修复更高效
- 架构分层:明确运营、调度、维护的职责边界,提升系统可维护性
七、附录:术语表
- OMS:Order Management System,订单管理系统
- WMS:Warehouse Management System,仓库管理系统
- CDMLS:Cross-Border Direct Mail Logistics Service,跨境直邮物流服务
- SLDS:Self-Built Logistics Distribution System,自建物流配送服务
- TWS:Transfer Warehouse System,转运仓系统
- SP:Service Point,驿站
- LH:Line Haul,干线运输
- FM:First Mile,首公里
- MM:Middle Mile,中间公里
- LM:Last Mile,最后一公里
- SOC:Sorting Center,分拣中心
- SOO:Station Operate Order,站点运营订单
- SOR:Station Operate Record,站点运营记录
- ASM:Automated Sorting Machine,自动分拣机
- SLPS:Supply Chain Logistics Partner Services,供应链物流合作伙伴服务
- 3PL:Third-Party Logistics,第三方物流
- COD:Cash On Delivery,货到付款
- SOP:Standard Operating Procedure,标准操作流程