Skip to content

ctl planning

jimin edited this page Dec 21, 2023 · 1 revision

2024 seata-ctl roadmap

  1. 推进支持 Seata 运维的 Admin API 合入主分支

    • 支持基于 console 接口 (默认为 7091) 的 Admin 身份验证 (JWT)
    • 支持注册中心、配置中心的配置查询、修改和热更新
    • 支持 Seata 常用配置项的查询、修改和热更新
    • 支持 Try, Commit, Rollback 等事务过程的模拟
  2. 优化 Seata Server 配置管理机制

    • 将分散在代码文件中 (以 static 变量形式存在) 的配置项统一管理
    • 设计统一的配置项 schema 校验机制,以验证配置项的合法性和正确性
    • 支持配置项在运行期热更新的持久化存储
  3. 实现对 Seata Server 存储层的运维支持

    • 支持存储集群的数据备份和迁移
    • 支持不同类型的存储层 (DB, Redis, Raft) 之间的切换
    • 支持基于 Raft 存储层的运维 (节点增加、摘除等)
  4. 建立完善的 seata-ctl E2E 测试框架

    • 覆盖 Seata 2.x 及以上版本
    • 在 Seata Server 侧实现 Admin API 的 E2E 测试
    • 在 seata-ctl 侧实现 CTL 调用 Admin API 的 E2E 测试
    • 实现对 Seata Server 和 seata-ctl 版本升级的回归测试
  5. 实现 seata-ctl 的构建和分发机制

    • 支持多平台 (Linux, Mac, 甚至 windows ) 构建
    • 撰写友好的使用文档和最佳实践

2024 seata-ctl Roadmap

  1. 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, and Rollback.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
Clone this wiki locally