apache / apache/dubbo-admin

后端部分用 golang 重构

Open
#957 1 comment 5 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
4.1k
Forks
2.2k
Avg merge
10d 12h
Merged PRs (30d)
4

Description

## 背景
1. 当前的[Dubbo Admin](https://github.com/apache/dubbo-admin)已经适配了Dubbo 3.x版本,但是整体的进度和Dubbo本身存在差距
2. 当前的Dubbo Admin是基于Dubbo在18年重新开源前,老版本的控制台实现的,当时主要的工作是进行前后端分离,用[vuetify](https://vuetifyjs.com/en/)重写前端的部分,而后端代码并没有经过很好的设计。
## 重构
考虑用go语言重写后端,一方面是当前的功能也不是算太多,用go重写的成本可控。另外考虑到Dubbo Admin也需要适配云原生环境,比如透出k8s的相关信息,对接Dubbo Mesh,这些工作用go语言开发会更加便利,得到更多的社区支持。
## 规划
1. 注册中心/配置中心/元数据中心:Dubbo Admin最重要的3个数据来源,需要替换成go语言的实现。当前实现直接调用了Dubbo接口,根据协议类型来判断具体的实现:详见[这里](https://github.com/apache/dubbo-admin/blob/develop/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java#L147),需要根据dubbo-go中支持的实现,来重写这一部分
2. 后端接口:目前的controller层,在第一步完成后就有了数据源,照着用go语言实现一遍
3. 登录/鉴权:当前很多的接口都需要登录才能操作,这一部分也需要搬过来
4. k8s信息透出:参考kiali的cluster api交互的部分
提交了一个新的[分支](https://github.com/apache/dubbo-admin/tree/refactor-with-go),目前还没有包含任何功能

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the refactor-with-go branch and the existing ConfigCenter.java implementation linked in the issue. Map the registry, configuration, metadata, controller, login/authentication, and Kubernetes-information work before proposing scope; done would require a functioning Go backend covering the listed areas, but the issue provides no tests or concrete acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, java, kubernetes
Domain
authentication, backend, cloud
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.