EntAPI事务边界 - 第2节

2.1 EntAPI 的定位:从“流量代理”到“事务边界引擎”

传统 API 网关的核心职责是流量代理、路由转发、限流熔断与安全认证。EntAPI 在此基础上,将自身定位为企业级事务边界引擎——它不仅管理请求的入口,更管理请求在多个微服务、数据源、外部系统之间的事务一致性边界。

核心定位转变:
传统网关:请求 → 路由 → 转发 → 返回
EntAPI:请求 → 事务边界解析 → 分布式协调 → 一致性保障 → 返回

EntAPI 的定位可以概括为三个层次:

  • 边界定义层:通过声明式配置,定义跨服务调用的事务边界范围(本地事务、Saga、TCC、XA)。
  • 协调执行层:在边界内协调多个参与方的提交或回滚,确保最终一致性或强一致性。
  • 可观测层:提供事务边界内的全链路追踪、状态快照、补偿日志,便于排障与审计。
EntAPI 定位:三层事务边界引擎 边界定义层 声明式事务边界配置 · 本地事务 / Saga / TCC / XA 协调执行层 跨服务协调 · 提交/回滚调度 · 补偿执行 · 超时处理 可观测层 全链路追踪 · 事务状态快照 · 补偿日志 · 审计

2.2 EntAPI 核心组件

EntAPI 由六大核心组件构成,各组件协同完成事务边界的定义、解析、协调与监控。

组件名称 职责 关键能力
事务边界解析器 解析 API 声明中的事务边界配置 支持 YAML/JSON/注解三种声明方式
事务协调器 管理事务生命周期(开始、提交、回滚、补偿) 内置 Saga、TCC、XA 三种协调策略
参与方代理 封装下游服务/数据库的调用与状态反馈 自动生成补偿操作、幂等校验
状态存储 持久化事务状态与补偿日志 支持 MySQL、Redis、Kafka 三种后端
超时与重试引擎 处理超时、网络抖动、部分失败场景 可配置重试次数、退避策略、降级回调
可观测性模块 暴露事务指标、链路追踪、事件流 集成 OpenTelemetry、Prometheus、ELK
实践建议:在项目初期,建议先使用“事务边界解析器 + 事务协调器 + 状态存储”三个核心组件搭建最小闭环,后续再逐步接入可观测性模块。
EntAPI 核心组件协作流程 API 请求进入 事务边界解析器 事务协调器 参与方代理 状态存储 超时与重试引擎 可观测性模块 响应 / 补偿结果

2.3 EntAPI 与传统 API 网关的区别

传统 API 网关(如 Kong、Zuul、Spring Cloud Gateway)与 EntAPI 在架构理念、核心能力、适用场景上存在本质差异。下表从 8 个关键维度进行对比:

对比维度 传统 API 网关 EntAPI
核心职责 流量路由、限流、认证 事务边界定义、协调、一致性保障
事务支持 无(仅透传 HTTP 请求) 内置 Saga、TCC、XA 事务模型
状态管理 无状态(推荐) 有状态(事务状态持久化)
补偿能力 无 自动生成补偿操作,支持幂等重试
超时处理 简单超时断开 超时重试 + 降级 + 补偿回滚
可观测性 请求级别(延迟、错误率) 事务级别(状态快照、补偿日志、链路追踪)
配置复杂度 路由规则 + 插件 路由规则 + 事务边界声明 + 补偿策略
典型场景 API 聚合、微服务网关 分布式事务、跨服务数据一致性、补偿编排
架构决策提示:如果系统仅需要统一入口、限流、认证,传统 API 网关足够。当业务涉及跨多个微服务的“写操作一致性”时(如订单→库存→支付→积分),才需要引入 EntAPI 的事务边界能力。切勿将 EntAPI 当作普通网关使用,否则会引入不必要的状态复杂度。

2.3.1 架构定位对比图

下图从架构层次角度展示传统 API 网关与 EntAPI 在系统中所处位置的不同:

传统 API 网关位于流量入口层,与业务逻辑解耦;EntAPI 位于业务协调层,深度参与服务间的事务边界管理。两者可以共存:EntAPI 部署在传统网关之后,专门处理需要事务保障的写操作路由。

2.4 本章小结

  • EntAPI 的定位是事务边界引擎,而非传统流量代理。
  • 六大核心组件覆盖了事务边界的定义、协调、代理、存储、容错、观测全流程。
  • 与传统 API 网关相比,EntAPI 的核心差异在于有状态、可补偿、事务级可观测。
  • 在实际架构中,EntAPI 与传统网关可以分层共存,各司其职。