-
Notifications
You must be signed in to change notification settings - Fork 8.8k
ctl planning
jimin edited this page Dec 21, 2023
·
1 revision
2024 seata-ctl roadmap
-
推进支持 Seata 运维的 Admin API 合入主分支
- 支持基于 console 接口 (默认为
7091
) 的 Admin 身份验证 (JWT) - 支持注册中心、配置中心的配置查询、修改和热更新
- 支持 Seata 常用配置项的查询、修改和热更新
- 支持 Try, Commit, Rollback 等事务过程的模拟
- 支持基于 console 接口 (默认为
-
优化 Seata Server 配置管理机制
- 将分散在代码文件中 (以 static 变量形式存在) 的配置项统一管理
- 设计统一的配置项 schema 校验机制,以验证配置项的合法性和正确性
- 支持配置项在运行期热更新的持久化存储
-
实现对 Seata Server 存储层的运维支持
- 支持存储集群的数据备份和迁移
- 支持不同类型的存储层 (DB, Redis, Raft) 之间的切换
- 支持基于 Raft 存储层的运维 (节点增加、摘除等)
-
建立完善的 seata-ctl E2E 测试框架
- 覆盖 Seata 2.x 及以上版本
- 在 Seata Server 侧实现 Admin API 的 E2E 测试
- 在 seata-ctl 侧实现 CTL 调用 Admin API 的 E2E 测试
- 实现对 Seata Server 和 seata-ctl 版本升级的回归测试
-
实现 seata-ctl 的构建和分发机制
- 支持多平台 (Linux, Mac, 甚至 windows ) 构建
- 撰写友好的使用文档和最佳实践
2024 seata-ctl Roadmap
-
Advance the integration of the Admin API that supports Seata Ops into the main branch:
- Support Admin authentication based on the console interface (defaulting to port 7091) using JWT.
- Enable configuration queries, updates, and hot reloading for registry and configuration center.
- Enable configuration queries, updates, and hot reloading for Seata itself.
- Facilitate simulation of transaction processes such as
Try
,Commit
, andRollback
.
-
Optimize the Seata server configuration management mechanism:
- Unify the management of configurations that are scattered across various source code files as static variables.
- Design a unified configuration schema validation mechanism to verify legality and correctness.
- Ensure persistent storage for hot reloading of configuration during runtime.
-
Support for Seata server's storage layer Ops:
- Provide data backup and migration for storage cluster.
- Support the switching between different types of storage layers (DB, Redis, Raft).
- Support Raft-based storage layer Ops, including node addition and removal.
-
Establish a comprehensive End-to-End (E2E) testing framework for seata-ctl:
- Cover Seata versions 2.x and above.
- Implement E2E testing for Admin APIs on the Seata Server side.
- Conduct E2E tests of CTL invoking Admin APIs on the seata-ctl side.
- Perform regression testing for version upgrades of Seata Server and seata-ctl.
-
Implement a build and distribution mechanism for seata-ctl:
- Support multi-platform builds (Linux, Mac, and even Windows).
- Write user-friendly documentation and best practice guides.