Skip to content

Commit 449908f

Browse files
githublaohujiejie@apache.org
authored
Kubernetes agent2 (#217)
* fix(*): 1. 合并代码, 2. 处理格式问题 * fix(*):1. 提升插件版本 2. 添加协议头 * fix(console):1. 设计 report 模块 2. 开 es,open模块,3. 开发 report 基本标准 4. 开发 iotdb模块 * fix(*):1. 保存更新,因为 rocketmq-exporter 官方文档 与 rocketmq-exporter 源码文档不一致,需要安装源码文档定义数据对象 * fix(console): 1. 完成 db cluster 关系 2. 两个数据 mock 模型 * fix(*):1. 完成 sync 模块集成测试 2. 重构 metadata 关系 * fix(*):1. check style * fix(*) 1. 没有解决 地址 与 端口问题 2. 没有解决 自动化部署地址问题 * fix(*): 1. 解决冲突 * fix(*):1. 解决冲突 * fix(*):1. 解决样式问题 --------- Co-authored-by: jie <[email protected]> Co-authored-by: [email protected] <[email protected]>
1 parent b7fcca7 commit 449908f

File tree

554 files changed

+18886
-3524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

554 files changed

+18886
-3524
lines changed

.asf.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ github:
3434
- serverless-workflow
3535
- message-bus
3636
enabled_merge_buttons:
37-
squash: true
38-
merge: false
39-
rebase: false
37+
squash: true
38+
merge: false
39+
rebase: false
4040
protected_branches:
4141
main:
4242
required_status_checks:
@@ -47,11 +47,11 @@ github:
4747
dismiss_stale_reviews: true
4848
required_approving_review_count: 0 # Temporary 0 to allow committers to merge themselves PR
4949
notifications:
50-
51-
# Send all issue emails (new, closed, comments) to issues@
52-
53-
# Send new/closed PR notifications to dev@
54-
pullrequests_status: [email protected]
55-
# Send individual PR comments/reviews to issues@
56-
pullrequests_comment: [email protected]
57-
jira_options: link label worklog
50+
51+
# Send all issue emails (new, closed, comments) to issues@
52+
53+
# Send new/closed PR notifications to dev@
54+
pullrequests_status: [email protected]
55+
# Send individual PR comments/reviews to issues@
56+
pullrequests_comment: [email protected]
57+
jira_options: link label worklog

.github/workflows/config/eventmesh.properties

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,10 @@ eventMesh.server.session.expiredInMills=60000
4343
eventMesh.server.tcp.msgReqnumPerSecond=15000
4444
eventMesh.server.http.msgReqnumPerSecond=15000
4545
eventMesh.server.session.upstreamBufferSize=20
46-
4746
# for single event publish, maximum size allowed per event
4847
eventMesh.server.maxEventSize=1000
4948
# for batch event publish, maximum number of events allowed in one batch
5049
eventMesh.server.maxEventBatchSize=10
51-
5250
# thread number about global scheduler
5351
eventMesh.server.global.scheduler=5
5452
eventMesh.server.tcp.taskHandleExecutorPoolSize=8
@@ -59,32 +57,26 @@ eventMesh.server.retry.async.pushRetryDelayInMills=500
5957
eventMesh.server.retry.sync.pushRetryDelayInMills=500
6058
eventMesh.server.retry.pushRetryQueueSize=10000
6159
eventMesh.server.retry.plugin.type=default
62-
6360
# sleep interval between closing client of different group in server graceful shutdown
6461
eventMesh.server.gracefulShutdown.sleepIntervalInMills=1000
6562
eventMesh.server.rebalanceRedirect.sleepIntervalInMills=200
66-
6763
# ip address blacklist
6864
eventMesh.server.blacklist.ipv4=0.0.0.0/8,127.0.0.0/8,169.254.0.0/16,255.255.255.255/32
6965
eventMesh.server.blacklist.ipv6=::/128,::1/128,ff00::/8
70-
7166
########################## EventMesh Plugin Configuration ##########################
7267
# storage plugin
7368
eventMesh.storage.plugin.type=rocketmq
74-
7569
# security plugin
7670
eventMesh.server.security.enabled=false
7771
eventMesh.security.plugin.type=security
7872
eventMesh.security.validation.type.token=false
7973
eventMesh.security.publickey=
80-
8174
# metaStorage plugin
8275
eventMesh.metaStorage.plugin.enabled=true
8376
eventMesh.metaStorage.plugin.type=nacos
8477
eventMesh.metaStorage.plugin.server-addr=127.0.0.1:8848
8578
eventMesh.metaStorage.plugin.username=nacos
8679
eventMesh.metaStorage.plugin.password=nacos
87-
8880
# metaStorage plugin: nacos
8981
#eventMesh.metaStorage.nacos.endpoint=
9082
#eventMesh.metaStorage.nacos.accessKey=
@@ -93,46 +85,39 @@ eventMesh.metaStorage.plugin.password=nacos
9385
#eventMesh.metaStorage.nacos.namespace=
9486
# The default value is half of CPU's num
9587
#eventMesh.metaStorage.nacos.namingPollingThreadCount=5
96-
9788
# metaStorage plugin: zookeeper
9889
#eventMesh.metaStorage.zookeeper.scheme=
9990
#eventMesh.metaStorage.zookeeper.auth=
10091
#eventMesh.metaStorage.zookeeper.connectionTimeoutMs=
10192
#eventMesh.metaStorage.zookeeper.sessionTimeoutMs=
102-
10393
# Fully qualified name of org.apache.curator.RetryPolicy implementation
10494
#eventMesh.metaStorage.zookeeper.retryPolicy.class=
105-
10695
# Constructor arguments for different org.apache.curator.RetryPolicy implementations
10796
#eventMesh.metaStorage.zookeeper.retryPolicy.baseSleepTimeMs=
10897
#eventMesh.metaStorage.zookeeper.retryPolicy.maxRetries=
10998
#eventMesh.metaStorage.zookeeper.retryPolicy.maxSleepTimeMs=
11099
#eventMesh.metaStorage.zookeeper.retryPolicy.retryIntervalMs=
111100
#eventMesh.metaStorage.zookeeper.retryPolicy.nTimes=
112101
#eventMesh.metaStorage.zookeeper.retryPolicy.sleepMsBetweenRetries=
113-
114102
# The TLS configuration of metaStorage plugin: consul
115103
# keyStoreInstanceType's value can refer to com.ecwid.consul.transport.TLSConfig.KeyStoreInstanceType
116104
#eventMesh.metaStorage.consul.tls.keyStoreInstanceType=
117105
#eventMesh.metaStorage.consul.tls.certificatePath=
118106
#eventMesh.metaStorage.consul.tls.certificatePassword=
119107
#eventMesh.metaStorage.consul.tls.keyStorePath=
120108
#eventMesh.metaStorage.consul.tls.keyStorePassword=
121-
122109
# metrics plugin, if you have multiple plugin, you can use ',' to split
123110
eventMesh.metrics.plugin=prometheus
124-
125111
# trace plugin
126112
eventMesh.server.trace.enabled=false
127113
eventMesh.trace.plugin=zipkin
128-
129114
# webhook
130115
# Start webhook admin service
131116
eventMesh.webHook.admin.start=true
132117
# Webhook event configuration storage mode. Currently, only file and nacos are supported
133118
eventMesh.webHook.operationMode=file
134119
# The file storage path of the file storage mode. If #{eventMeshHome} is written, it is in the EventMesh root directory
135-
eventMesh.webHook.fileMode.filePath= #{eventMeshHome}/webhook
120+
eventMesh.webHook.fileMode.filePath=#{eventMeshHome}/webhook
136121
# Nacos storage mode, and the configuration naming rule is EventMesh webHook. nacosMode. {nacos native configuration key} please see the specific configuration [nacos github api](https://github.com/alibaba/nacos/blob/develop/api/src/main/java/com/alibaba/nacos/api/SystemPropertyKeyConst.java)
137122
## Address of Nacos
138123
eventMesh.webHook.nacosMode.serverAddr=127.0.0.1:8848

.github/workflows/license.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#
1717

1818
name: 'License Check'
19-
on: [pull_request]
19+
on: [ pull_request ]
2020

2121
permissions:
2222
contents: read

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44

55
## Introduction
66

7-
The EventMesh Dashboard is under development and will support functionalities such as Connection management, cluster health checks, etc. Feel free to reach out to the [EventMesh Assistant](https://github.com/apache/eventmesh?tab=readme-ov-file#community) to contribute.
7+
The EventMesh Dashboard is under development and will support functionalities such as Connection management, cluster health checks, etc. Feel free to
8+
reach out to the [EventMesh Assistant](https://github.com/apache/eventmesh?tab=readme-ov-file#community) to contribute.
89

9-
The Dashboard for EventMesh, maintained during v1.8.0 ~ v1.10.0, is a pure frontend project located at the [Next.js Dashboard branch](https://github.com/apache/eventmesh-dashboard/tree/nextjs-dashboard).
10+
The Dashboard for EventMesh, maintained during v1.8.0 ~ v1.10.0, is a pure frontend project located at
11+
the [Next.js Dashboard branch](https://github.com/apache/eventmesh-dashboard/tree/nextjs-dashboard).
1012

1113
Weekly development meeting documents for EventMesh Dashboard: https://docs.qq.com/doc/DQmhVbklUdGNNWGZi
1214

@@ -67,15 +69,15 @@ cd eventmesh-dashboard
6769
./mvnw clean package
6870
```
6971

70-
>TODO download mysql-connector-j manually
72+
> TODO download mysql-connector-j manually
7173
7274
```
7375
java -DDB_ADDRESS=$DB_ADDRESS -DDB_USERNAME=$DB_USERNAME -DDB_PASSWORD=$DB_PASSWORD -jar eventmesh-dashboard-console/target/eventmesh-dashboard-console-0.0.1-SNAPSHOT.jar
7476
```
7577

7678
### Build and Run with Docker
7779

78-
>To be updated
80+
> To be updated
7981
8082
```
8183
cd eventmesh-dashboard

README.zh-CN.md

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44

55
## 介绍
66

7-
EventMesh Dashboard 处于开发中,将支持 Connection 管理、集群健康检查等功能。欢迎联系 [EventMesh 小助手](https://github.com/apache/eventmesh?tab=readme-ov-file#community)参与贡献。
7+
EventMesh Dashboard 处于开发中,将支持 Connection
8+
管理、集群健康检查等功能。欢迎联系 [EventMesh 小助手](https://github.com/apache/eventmesh?tab=readme-ov-file#community)参与贡献。
89

9-
EventMesh 于 v1.8.0 ~ v1.10.0 期间维护的 Dashboard 纯前端项目位于 [Next.js Dashboard 分支](https://github.com/apache/eventmesh-dashboard/tree/nextjs-dashboard)
10+
EventMesh 于 v1.8.0 ~ v1.10.0 期间维护的 Dashboard
11+
纯前端项目位于 [Next.js Dashboard 分支](https://github.com/apache/eventmesh-dashboard/tree/nextjs-dashboard)
1012

1113
EventMesh Dashboard 每周开发例会文档:https://docs.qq.com/doc/DQmhVbklUdGNNWGZi
1214

@@ -16,18 +18,18 @@ EventMesh Dashboard 每周开发例会文档:https://docs.qq.com/doc/DQmhVbklU
1618

1719
### 环境
1820

19-
- JDK 8/11
21+
- JDK 17
2022
- Maven 3.9.x
2123
- Spring Boot 2.7.x
2224

2325
### 模块介绍
2426

25-
1. eventmesh-dashboard-console 业务模块的代码,调用service接口
26-
2. eventmesh-dashboard-observe 监控模块的代码
27-
3. eventmesh-dashboard-core 对EventMesh Runtime, Meta以及相关组件的代码,提供service实现
28-
4. eventmesh-dashboard-service 公用API接口,对core的抽象
29-
5. eventmesh-dashboard-common 公共模块的代码
30-
6. eventmesh-dashboard-view 前端代码
27+
1. eventmesh-dashboard-console 业务模块的代码,调用service接口
28+
2. eventmesh-dashboard-observe 监控模块的代码
29+
3. eventmesh-dashboard-core 对EventMesh Runtime, Meta以及相关组件的代码,提供service实现
30+
4. eventmesh-dashboard-service 公用API接口,对core的抽象
31+
5. eventmesh-dashboard-common 公共模块的代码
32+
6. eventmesh-dashboard-view 前端代码
3133

3234
## 自动部署最新版 EventMesh Dashboard
3335

@@ -67,15 +69,15 @@ cd eventmesh-dashboard
6769
./mvnw clean package
6870
```
6971

70-
>TODO download mysql-connector-j manually
72+
> TODO download mysql-connector-j manually
7173
7274
```
7375
java -DDB_ADDRESS=$DB_ADDRESS -DDB_USERNAME=$DB_USERNAME -DDB_PASSWORD=$DB_PASSWORD -jar eventmesh-dashboard-console/target/eventmesh-dashboard-console-0.0.1-SNAPSHOT.jar
7476
```
7577

7678
### 构建并运行 Docker 镜像
7779

78-
>To be updated
80+
> To be updated
7981
8082
```
8183
cd eventmesh-dashboard
@@ -88,17 +90,19 @@ docker run -d --name eventmesh-dashboard -p 8080:8080 yourname/eventmesh-dashboa
8890
```
8991

9092
### 开发准备
91-
1. 配置格式化
92-
1. 后端格式文档地址:https://eventmesh.apache.org/zh/community/contribute/contribute/
93-
2. 前端使用 eslint
94-
2. 配置协议头工具 license-eye。
95-
1. 检查命令:license-eye header check
96-
2. 使用命令:license-eye header fix
97-
3. 下载地址: https://skywalking.apache.org/downloads/
9893

94+
1. 配置格式化
95+
1. 后端格式文档地址:https://eventmesh.apache.org/zh/community/contribute/contribute/
96+
2. 前端使用 eslint
97+
2. 配置协议头工具 license-eye。
98+
1. 检查命令:license-eye header check
99+
2. 使用命令:license-eye header fix
100+
3. 下载地址: https://skywalking.apache.org/downloads/
99101

100102
### 提交代码前
103+
101104
在项目根目录执行下面命令
105+
102106
```
103107
license-eye -v info -c .licenserc.yaml header check
104108
./mvnw -B package -DskipTests --file pom.xml

doc/TODO.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
## 文档任务
2+
3+
- 整体设计文档
4+
- metadata 数据 设计文档
5+
- 部署设计文档
6+
- Cluster 设计文档
7+
- 同步设计文档
8+
- 心跳设计文档
9+
- SDK 设计文档
10+
- 远程服务设计文档
11+
- 日志说明与使用设计文档
12+
- 采集设计文档
13+
- 采集数据库设计文档
14+
- 模拟数据 同步测试文档
15+
- RocketMQ 同步测试文档
16+
- 部署测试文档
17+
- 采集测试文档
18+
- 增加一个 存储 整个开发流程
19+
- 增加一个 meta 整个开发流程
20+
21+
## 问题
22+
23+
- 自动化部署之后,如何确定部署是否成功,部署测试如何做?
24+
- group 与 group memer 是 cluster 级别还是 runtime 级别
25+
- 如果是 cluster 级别,rocketmq 需要支持 cluster 级别操作,如果不支持着需要全量删除
26+
- group 与 group memer 只读,不允许创建
27+
- config 问题
28+
- 不同的 存储 与 runtime 对不同的 metadata 有的支持 config ,有的不支持 config
29+
- 需要一个 config 管理模块
30+
- 对 runtime(包含 存储)的 metadata 进行标记
31+
- 支持 runtime(包含 存储) metadata 双维度
32+
- 不同的 存储 与 runtime 对 config 的修改不同
33+
- kakfa 支持一个一个 config 的修改
34+
- rocketmq 只能对 config 的 主体 进行修改。比如 修改 queue ,那么需要 对 Topic 全量修改
35+
- 通过 config 模块 对 config 的行为标记做出不同的处理
36+
- 修改 rocketmq 的 metadata 的 config , 需要对 metadata 主体进行标准,然后触发 metadata 对象的 同步操作
37+
38+
## 任务 or issue
39+
40+
- SyncStatus 状态补充
41+
- LogManage 记录模块
42+
- 操作记录模块
43+
- 优点是:可以进行记录
44+
- 部署与操作流模块
45+
- 是否设计运维操作模块
46+
- rometing service 入参 与 返回 讨论
47+
- 手动添加 集群 与 节点 信息时的 url 设计
48+
- kubernetes 部署 RocketMQ 的 IP 问题。client 调用 broker 是 kubernetes node ip,broker 调用 broker 是 kubernetes pod ip
49+
- TODO 内容整理之后去除
50+
- 文档与代码整理
51+
- 讨论:手动添加集群与节点
52+
- 分析:db 的负载。 维度:业务操作,统计操作,sync and 部署等操作
53+
- 用户进来,是进入默认组织 首页
54+
55+
1. 通过左上角切换
56+
2. 组织视图与 cluster 共存,这样是否会出现三级路由
57+
3. 人员添加,可以从组织添加,也可以从 cluster 里面添加。如果从 cluster 里面添加,是否就属于合格组织一员?
58+
59+
6. 删除 cluster 或则 runtime 之后对应的信息是否全部作废。
60+
7. 暂停状态数据如何标记,激活 对应的 metadata 之前相关的数据是否启动
61+
8. 删除 cluster 之前之后校验 关联。如何关联存在是否允许删除
62+
9. kafka 的查询维度全是 cluster
63+
10. RocketMQ 大集群查询,是否支持 metadata 数据查询,如何对数据进行展示? 是否现实差异化,是否提示差异字段
64+
1. 那些 topic 有差异?
65+
2. 是否配置 不允许有差异?
66+
3. 如果不允许有差异, console 进行处理的 metadata 是否要进行具体标识
67+
11. RocketMQ 支持大集群,小集群,runtime 维度的展示
68+
12. 指标数据表结构,目前不支持表修改。是否需要支持变修改
69+
13. 是否需要支持 不同的 cluster 使用不同的 指标数据修改
70+
71+
## SyncStatus 状态补充
72+
73+
- 同步表,需要添加 SyncStatus 字段
74+
- Entity 需要一个 SyncStatus 类
75+
- 状态转换确认 。 RemotingService(是否独立出来) 里面 成功与失败状态
76+
- 所有查询 需要过滤 成功状态
77+
- 操作数据时, 需要修改 SyncStatus
78+
- 需要一个 SyncStatus 管理类
79+
80+
无法进行确认,支持同类型修改
81+
82+
项目发起人,项目架构师,项目设计师,项目经理,
83+
交互设计师,半个ui设计
84+
前端,后台,运维,产品,测试,
85+
86+
## 用户域
87+
88+
### 用户首页
89+
90+
1. 查看 组织
91+
92+
### 组织首页
93+
94+
1. 左边是一级菜单:
95+
1. 工作台
96+
2. eventmesh集群
97+
3.
98+
2. 集群信息
99+
1. 集群列表
100+
101+
### 日志分类
102+
103+
1. 心跳加载日志
104+
2. 数据同步日志
105+
3. 运维操作日志
106+
4. 数据采集日志
107+
5. metadata 数据日志

0 commit comments

Comments
 (0)