XnLemon opened a new issue, #1024:
URL: https://github.com/apache/dubbo-go-pixiu/issues/1024
## 背景
当前 Pixiu-Admin 主要直接编辑 `Resource`/`Method` YAML,存在以下问题:
- 用户需要理解底层配置结构;
- 字段校验和默认值分散;
- draft、diff、publish 流程不完整,Method 发布仍缺失;
- HTTP -> Dubbo 泛化调用和服务发现能力无法通过 Admin 清晰配置。
## 目标
该 Issue 作为 Tracking Issue, 我将主导该项目的实现,在不重写 Pixiu 网关核心的前提下,引入 schema-driven
Admin 配置模型,并完成一个可运行的 HTTP -> Dubbo 配置闭环:
```text
Admin 配置
-> Normalize / Validate
-> 编译为 Resource / Method
-> draft / diff / publish
-> 现有 Pixiu runtime 生效
```
## 实施范围
- 新增统一的 Admin 配置对象 envelope 和 schema registry;
- 实现 `AdminRouteBinding`,支持:
- HTTP path、method;
- Dubbo interface、method、group、version;
- 参数映射和类型配置;
- timeout;
- 增加服务端校验:
- 必填字段和非空校验;
- path 和 URI 参数一致性;
- 参数索引、类型和 timeout 校验;
- 增加 binding 到 legacy `Resource`/`Method` 的 compiler 和 YAML preview;
- 接入现有 Admin 存储和运行时链路;
- 补齐 draft、diff、publish、revision 和基础 rollback;
- 修复 Resource/Method 发布不一致问题;
- 保留现有 Resource/Method API 和旧 YAML 配置兼容;
- 为 Listener、Cluster、PluginGroup、RateLimiter、OPA 预留扩展机制。
## 设计约束
- `AdminRouteBinding` 作为 Admin 输入/编排模型,不作为长期唯一存储模型;
- 通过 adapter 接入现有 runtime,不修改 router、filter chain 和 Dubbo 泛化调用核心;
- `backendRef`、服务选择条件和 Dubbo invocation policy 分开建模;
- 不支持的字段必须明确报错,不能静默丢失;
- 第一阶段只要求完整验证一个 HTTP -> Dubbo 场景。
## 验收标准
- 可以通过 Admin API 创建、校验和保存 binding draft;
- 可以查看发布前 diff;
- Resource 和 Method 可以原子发布;
- 支持查询 revision,并可回滚到上一版本;
- 发布后 HTTP 请求能够成功触发 Dubbo 泛化调用;
- 旧 Admin API 和旧 YAML 行为不受破坏;
- 关键转换、发布和运行时链路有集成测试;
- 至少提供一个应用级服务发现展示或配置 demo。
## 暂不包含
- 重写 Pixiu 网关核心;
- 完整多协议统一治理模型;
- 全量 Admin 前端重构;
- 多租户、复杂 RBAC 和完整商业化控制台。
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]