跳到主要内容
版本:预览版

Seata API 文档

1. API Overview​

1.1 namingserver open-api​

APIMethodPathDescriptionDetail
Health CheckGET/naming/v1/healthnamingserver 健康检查查看
Register InstancePOST/naming/v1/register /api/v1/naming/register注册单节点查看
Batch RegisterPOST/naming/v1/batchRegister /api/v1/naming/batchRegister批量注册节点查看
Unregister InstancePOST/naming/v1/unregister /api/v1/naming/unregister注销单节点查看
Cluster MonitorGET/naming/v1/clusters /api/v1/naming/clusters查询集群监控视图查看
Cluster DataGET/naming/v1/clusterData /api/v1/naming/clusterData查询单集群原始数据查看
DiscoveryGET/naming/v1/discovery /api/v1/naming/discovery按 vGroup 发现集群查看
Add GroupPOST/naming/v1/addGroup /api/v1/naming/addGroup新增 vGroup 映射查看
Change GroupPOST/naming/v1/changeGroup /api/v1/naming/changeGroup切换 vGroup 映射查看
Namespace (v1)GET/naming/v1/namespace /api/v1/naming/namespacenamespace 概览(v1)查看
WatchPOST/naming/v1/watch /api/v1/naming/watch长轮询订阅 vGroup 变化查看
Watch ListGET/naming/v1/watchList /api/v1/naming/watchList当前 watch 列表查看
Namespace (v2)GET/naming/v2/namespace /api/v2/naming/namespacenamespace 概览(v2)查看

1.2 server admin-api​

APIMethodPathDescriptionDetail
Delete Branch SessionDELETE/api/v1/console/branchSession/deleteBranchSession删除分支会话查看
Force Delete Branch SessionDELETE/api/v1/console/branchSession/forceDeleteBranchSession强制删除分支会话查看
Stop Branch SessionPUT/api/v1/console/branchSession/stopBranchSession停止分支重试查看
Start Branch SessionPUT/api/v1/console/branchSession/startBranchSession启动分支重试查看
Query Global SessionGET/api/v1/console/globalSession/query分页查询全局会话查看
Delete Global SessionDELETE/api/v1/console/globalSession/deleteGlobalSession删除全局会话查看
Force Delete Global SessionDELETE/api/v1/console/globalSession/forceDeleteGlobalSession强制删除全局会话查看
Stop Global SessionPUT/api/v1/console/globalSession/stopGlobalSession停止全局重试查看
Start Global SessionPUT/api/v1/console/globalSession/startGlobalSession启动全局重试查看
Send Commit/RollbackPUT/api/v1/console/globalSession/sendCommitOrRollback手工触发提交或回滚下发查看
Change Global StatusPUT/api/v1/console/globalSession/changeGlobalStatus修改全局状态查看
Query Global LockGET/api/v1/console/globalLock/query分页查询全局锁查看
Delete Global LockDELETE/api/v1/console/globalLock/delete删除全局锁查看
Check Global LockGET/api/v1/console/globalLock/check检查分支是否存在锁查看

1.3 server open-api​

APIMethodPathDescriptionDetail
Server Health CheckGET (recommended)/healthserver 健康检查查看
Change ClusterPOST/metadata/v1/changeCluster变更 raft peers查看
Query Cluster MetadataGET/metadata/v1/cluster查询 leader/term/nodes/storeMode查看
Watch MetadataPOST/metadata/v1/watch长轮询订阅 group 变化查看
Add VGroupGET/vgroup/v1/addVGroup新增 vGroup 映射查看
Remove VGroupGET/vgroup/v1/removeVGroup删除 vGroup 映射查看

2. namingserver open-api​

2.1 Health Check​

  • 作用:返回 namingserver 可用状态。
  • 请求:GET /naming/v1/health
  • 参数:无
  • 返回:Result<?>
  • 说明:返回体默认 code="200"、message="success"。

2.2 Register Instance​

  • 作用:注册单个 NamingServerNode 到指定 namespace + clusterName + unit。
  • 请求:POST /naming/v1/register 或 POST /api/v1/naming/register
  • Query 参数:
NameTypeRequiredSourceNote
namespacestringYquery (@RequestParam)命名空间
clusterNamestringYquery (@RequestParam)集群名
unitstringYquery (@RequestParam)单元名
  • Body:NamingServerNode
FieldTypeRequiredNote
controlobjectN控制端点
transactionobjectN事务端点
internalobjectN内部端点
rolestringN节点角色
versionstringN版本
metadataobjectN扩展元数据
weightnumberN权重
healthybooleanN健康状态
termlongN节点 term
unitstringN节点 unit
  • 返回:Result<String>
  • 说明:失败通常通过 code=500 表达,HTTP 仍可能是 200。

2.3 Batch Register​

  • 作用:批量注册节点。
  • 请求:POST /naming/v1/batchRegister 或 POST /api/v1/naming/batchRegister
  • Query 参数:namespace、clusterName(均必填,@RequestParam)
  • Body:List<NamingServerNode>
  • 返回:Result<String>

2.4 Unregister Instance​

  • 作用:注销单节点。
  • 请求:POST /naming/v1/unregister 或 POST /api/v1/naming/unregister
  • Query 参数:namespace、clusterName、unit(必填)
  • Body:NamingServerNode
  • 返回:Result<String>

2.5 Cluster Monitor​

  • 作用:查询 namespace 下的集群监控视图。
  • 请求:GET /naming/v1/clusters 或 GET /api/v1/naming/clusters
  • 参数:
NameTypeRequiredSourceNote
namespacestringY (recommended)query (默认绑定)方法参数未显式 @RequestParam
  • 返回:List<ClusterVO>(clusterName、clusterType、vGroupMapping、unitData)

2.6 Cluster Data​

  • 作用:查询单个 cluster 原始数据。
  • 请求:GET /naming/v1/clusterData 或 GET /api/v1/naming/clusterData
  • 参数:namespace、clusterName(均必填,@RequestParam)
  • 返回:SingleResult<ClusterData>
  • 说明:找不到集群时 SingleResult.failure("Cluster not found")。

2.7 Discovery​

  • 作用:按 vGroup + namespace 发现 cluster 列表。
  • 请求:GET /naming/v1/discovery 或 GET /api/v1/naming/discovery
  • 参数:vGroup、namespace(均必填)
  • 返回:MetaResponse
FieldTypeNote
clusterListlist匹配到的集群列表
termlong当前 vGroup 的 term

2.8 Add Group​

  • 作用:创建 vGroup 到 cluster 的映射。
  • 请求:POST /naming/v1/addGroup 或 POST /api/v1/naming/addGroup
  • 参数:
NameTypeRequiredSourceNote
namespacestringYquery (@RequestParam)命名空间
clusterNamestringYquery (@RequestParam)目标集群
unitNamestringNquery (默认绑定)未显式注解,可空
vGroupstringYquery (@RequestParam)事务组
  • 返回:Result<String>

2.9 Change Group​

  • 作用:将 vGroup 切换到新 cluster。
  • 请求:POST /naming/v1/changeGroup 或 POST /api/v1/naming/changeGroup
  • 参数:namespace、clusterName、vGroup(必填)+ unitName(可选,默认 "")
  • 返回:Result<String>

2.10 Namespace (v1)​

  • 作用:返回 namespace 聚合信息。
  • 请求:GET /naming/v1/namespace 或 GET /api/v1/naming/namespace
  • 参数:无
  • 返回:SingleResult<Map<String, NamespaceVO>>
NamespaceVO FieldType
clustersList<String>
vgroupsList<String>

2.11 Watch​

  • 作用:订阅指定 vGroup 的变更(长轮询)。
  • 请求:POST /naming/v1/watch 或 POST /api/v1/naming/watch
  • 参数:
NameTypeRequiredSourceNote
clientTermstringYquery (@RequestParam)需可转 long
vGroupstringYquery (@RequestParam)事务组
timeoutstringYquery (@RequestParam)需可转 int
  • 返回:void(异步)
  • 关键行为:
    • 使用 request.startAsync() 开启异步。
    • AsyncContext timeout 被设为 0(容器无限超时)。
    • 真实等待窗口由 timeout 参数传入 watcher。

2.12 Watch List​

  • 作用:查看已注册 watcher。
  • 请求:GET /naming/v1/watchList 或 GET /api/v1/naming/watchList
  • 参数:无
  • 返回:List<WatcherVO>(vGroup、watcherIp)

2.13 Namespace (v2)​

  • 作用:返回 v2 结构 namespace 聚合信息。
  • 请求:GET /naming/v2/namespace 或 GET /api/v2/naming/namespace
  • 参数:无
  • 返回:SingleResult<Map<String, org.apache.seata.namingserver.entity.vo.v2.NamespaceVO>>
v2 NamespaceVO FieldType
clustersMap<String, ClusterVO>
v2 ClusterVO FieldType
vgroupsList<String>
unitsList<String>
typeString

3. server admin-api​

3.1 Delete Branch Session​

  • 请求:DELETE /api/v1/console/branchSession/deleteBranchSession
  • 作用:删除分支会话。
  • 参数:xid、branchId(默认绑定,推荐 query/form 传递)
  • 返回:SingleResult<Void>

3.2 Force Delete Branch Session​

  • 请求:DELETE /api/v1/console/branchSession/forceDeleteBranchSession
  • 作用:强制删除分支会话。
  • 参数:xid、branchId
  • 返回:SingleResult<Void>

3.3 Stop Branch Session​

  • 请求:PUT /api/v1/console/branchSession/stopBranchSession
  • 作用:停止分支重试。
  • 参数:xid、branchId
  • 返回:SingleResult<Void>

3.4 Start Branch Session​

  • 请求:PUT /api/v1/console/branchSession/startBranchSession
  • 作用:启动分支重试。
  • 参数:xid、branchId
  • 返回:SingleResult<Void>

3.5 Query Global Session​

  • 请求:GET /api/v1/console/globalSession/query
  • 作用:分页查询全局会话。
  • 参数来源:@ModelAttribute GlobalSessionParam(query 绑定)
FieldTypeNote
pageNumint分页参数
pageSizeint分页参数
timeStartlong时间区间开始
timeEndlong时间区间结束
xidstring过滤条件
applicationIdstring过滤条件
statusint过滤条件
transactionNamestring过滤条件
vgroupstring过滤条件
withBranchboolean是否带分支明细
  • 返回:PageResult<GlobalSessionVO>

3.6 Delete Global Session​

  • 请求:DELETE /api/v1/console/globalSession/deleteGlobalSession
  • 作用:删除全局会话。
  • 参数:xid
  • 返回:SingleResult<Void>

3.7 Force Delete Global Session​

  • 请求:DELETE /api/v1/console/globalSession/forceDeleteGlobalSession
  • 作用:强制删除全局会话。
  • 参数:xid
  • 返回:SingleResult<Void>

3.8 Stop Global Session​

  • 请求:PUT /api/v1/console/globalSession/stopGlobalSession
  • 作用:停止全局重试。
  • 参数:xid
  • 返回:SingleResult<Void>

3.9 Start Global Session​

  • 请求:PUT /api/v1/console/globalSession/startGlobalSession
  • 作用:启动全局重试。
  • 参数:xid
  • 返回:SingleResult<Void>

3.10 Send Commit/Rollback​

  • 请求:PUT /api/v1/console/globalSession/sendCommitOrRollback
  • 作用:手工触发提交/回滚下发。
  • 参数:xid
  • 返回:SingleResult<Void>

3.11 Change Global Status​

  • 请求:PUT /api/v1/console/globalSession/changeGlobalStatus
  • 作用:修改全局事务状态。
  • 参数:xid
  • 返回:SingleResult<Void>

3.12 Query Global Lock​

  • 请求:GET /api/v1/console/globalLock/query
  • 作用:分页查询全局锁。
  • 参数来源:@ModelAttribute GlobalLockParam
FieldTypeNote
pageNumint分页参数
pageSizeint分页参数
timeStartlong时间区间开始
timeEndlong时间区间结束
xidstring过滤条件
tableNamestring过滤条件
transactionIdstring过滤条件
branchIdstring过滤条件
pkstring过滤条件
resourceIdstring过滤条件
  • 返回:PageResult<GlobalLockVO>

3.13 Delete Global Lock​

  • 请求:DELETE /api/v1/console/globalLock/delete
  • 作用:删除全局锁。
  • 参数来源:@ModelAttribute GlobalLockParam
  • 返回:SingleResult<Void>

3.14 Check Global Lock​

  • 请求:GET /api/v1/console/globalLock/check
  • 作用:检查指定分支是否存在锁。
  • 参数:xid、branchId(默认绑定)
  • 返回:SingleResult<Boolean>

4. server open-api(详细)​

4.1 Health Check​

  • 请求:/health(@RequestMapping,建议按 GET 调用)
  • 作用:返回 server 启动状态。
  • 参数:无
  • 返回:String,值为 ok 或 not_ok

4.2 Change Cluster​

  • 请求:POST /metadata/v1/changeCluster
  • 作用:变更 raft peers 配置。
  • 参数:
NameTypeRequiredSourceNote
raftClusterStrstringYquery (@RequestParam)jraft Configuration#parse 格式
  • 返回:Result<?>
  • 注意:解析失败时仅设置 message,code 可能仍保持默认 200。

4.3 Query Cluster Metadata​

  • 请求:GET /metadata/v1/cluster
  • 作用:获取 group 的 storeMode/term/nodes。
  • 参数:
NameTypeRequiredSourceNote
groupstringNquery (默认绑定)为空时回退 server.raft.group,默认 default
  • 返回:MetadataResponse
FieldType
storeModestring
termlong
nodesList<Node>

4.4 Watch Metadata​

  • 请求:POST /metadata/v1/watch
  • 作用:按 group+term 订阅变更。
  • 参数:
NameTypeRequiredSourceNote
groupTermsmapYbody (@RequestBody)key=group, value=term
timeoutintNquery (@RequestParam)默认 28000
contextHttpContext框架注入method arg非用户传入
  • 返回:void(异步)
  • 注意:term 会执行 Long.parseLong(String.valueOf(term)) 转换。

4.5 Add VGroup​

  • 请求:GET /vgroup/v1/addVGroup
  • 作用:新增 vGroup 映射(有副作用)。
  • 参数:vGroup、unit(@RequestParam)
  • 返回:Result<?>
  • 注意:非 raft 模式会刷新本机 term(System.currentTimeMillis())。

4.6 Remove VGroup​

  • 请求:GET /vgroup/v1/removeVGroup
  • 作用:删除 vGroup 映射(有副作用)。
  • 参数:vGroup(@RequestParam)
  • 返回:Result<?>
  • 注意:非 raft 模式会刷新本机 term。

5. 通用返回结构​

5.1 Result​

FieldTypeNote
codestring默认 200
messagestring默认 success

5.2 SingleResult​

FieldTypeNote
codestring继承 Result
messagestring继承 Result
dataany业务数据

5.3 PageResult​

FieldTypeNote
codestring继承 Result
messagestring继承 Result
datalist当前页数据
totalint总条数
pagesint总页数
pageNumint当前页
pageSizeint页大小