apache / dubbo-admin

The ops and reference implementation for Apache Dubbo
https://dubbo.apache.org
Apache License 2.0
3.99k stars 2.17k forks source link

ospp IDL管理 #1170

Open dawnzzz opened 1 year ago

dawnzzz commented 1 year ago

计划实现一个 IDL 管理平台,对 protobuf 文件实现类似于Git的IDL文件版本管理机制,参考buf的相关功能,实现IDL文件的远程依赖管理和插件管理。

期望产出

实现一个IDL管理平台,前端采用 buf cli 实现,后端独立开发。支持对IDL文件进行版本管理、对IDL文件的远程依赖管理、IDL文件代码生成的插件管理。

管理平台后端架构

前端借助于 buf cli 实现,IDL 管理整个后端包括6个部分组成,分别是API接口、认证模块、版本依赖管理模块、插件管理模块、持久化管理模块以及数据库。

API接口为用户提供可用的API用于操作IDL管理平台,它解析收到的HTTP请求,验证绑定请求参数,将用户请求路由到具体的执行函数中。认证模块的功能为用户认证和授权,它验证用户信息是否正确、授权用户token用于管理IDL、验证token信息是否正确。在版本依赖管理模块中,这个模块的主要职责就是管理IDL版本,管理IDL文件远程依赖。插件管理模块主要用于插件管理和在代码生成阶段远程插件执行。持久化管理模块为上层模块提供统一的数据库访问接口,上层模块与数据库的交互通过此模块完成。数据库主要用于持久化保存IDL文件的版本信息以及插件信息。

image

近期时间规划

总体时间规划

第一阶段(07月01日 - 08月10日)

  1. 完成数据库的定义。
  2. 完成前后端交互接口定义。
  3. 完成版本管理和依赖管理模块的开发工作。

第二阶段(08月10日 - 09月30日)

  1. 完成插件管理和代码生成模块的开发工作。