Compare commits

...

24 Commits

Author SHA1 Message Date
编码猿
9432116a00 修改 动态配置 2025-10-07 21:48:31 +08:00
编码猿
5fda36b268 更新文档 2025-10-07 21:47:12 +08:00
编码猿
84820b1e9b 移除nginx 2025-10-07 21:45:03 +08:00
编码猿
550bf0039b 移除 app-shared 为独立模块 2025-10-07 21:14:15 +08:00
编码猿
2653800c3f 从主项目中删除 app-product,抽离为独立仓库存储!! 2025-10-07 04:37:32 +08:00
编码猿
cb8f7a4682 修改cicd为gitea action,简化操作 2025-10-07 00:59:16 +08:00
编码猿
7fb0f60ec0 实现cicd的案例,等待集成 2025-10-05 05:46:17 +08:00
编码猿
ff925d458a 完善架构,修改很多地方 2025-10-04 00:08:33 +08:00
编码猿
3c66faf9a7 【重要】traefik 配置 2025-09-30 10:01:58 +08:00
编码猿
a3ba6c2944 【重要】重构 并实现新的架构 2025-09-30 10:00:10 +08:00
编码猿
04754a1f77 实现 nacos 的分布式集群部署配置 2025-09-29 05:07:42 +08:00
编码猿
ced7662d98 优化 nacos-federation 2025-09-26 02:21:04 +08:00
编码猿
174af7efc3 优化全局样式和 element ui框架,修改nacos-federation,增加打包依赖分析等 2025-09-26 01:50:49 +08:00
编码猿
537c7ca60e 添加全局样式和 element ui框架 2025-09-24 23:56:55 +08:00
编码猿
21bf47c8a1 修改帮助文档 2025-09-23 12:08:40 +08:00
编码猿
ac5f544819 增加控制台日志,方便访问各种服务 2025-09-23 12:05:54 +08:00
编码猿
258318eee8 将vite.config.ts中的base 改到插件 nacos-federation中实现,简化代码 2025-09-23 11:35:02 +08:00
编码猿
1f5c0556a3 修改base,增加资源来源地址,修复资源错误加载的问题 2025-09-23 11:20:41 +08:00
编码猿
1791889441 更新文档 2025-09-23 03:32:47 +08:00
编码猿
84c4e8bdc7 修改 nacos-federation 插件,实现 接口请求基地址从 配置中心获取,并注入到环境变量中 2025-09-23 03:26:10 +08:00
编码猿
cbc2c25cf4 修改忽略文件 2025-09-23 01:02:19 +08:00
编码猿
b29001c8c3 修改忽略文件 2025-09-23 01:01:08 +08:00
编码猿
c8a9bfd77e 修改忽略文件 2025-09-23 01:00:34 +08:00
编码猿
135839d6e2 封装自动生成 traefik 代理配置的 nodejs 插件代码 2025-09-23 00:59:56 +08:00
139 changed files with 1948 additions and 29935 deletions

2
.gitignore vendored
View File

@@ -1,7 +1,7 @@
.DS_Store
node_modules
dist
docker/nacos-cluster/standalone-logs/*
pnpm-lock.yaml
package-lock.json

View File

@@ -9,6 +9,33 @@
本案例中 **[主应用]** 采取的就是OOP风格当然如果你不熟悉上面的写法那么可以在
【其他模块】中使用Vue2Vue3都行但仍然需要遵守DDD的规范进行开发
## 架构图
![架构图](./doc/jgt.png)
## CI/CD 自动化集群部署
![cicd](./doc/newci.png)
## 开发日记
- [x] 基于DDD理念改造
- [x] 拆分领域模块为联邦模块,实现微前端
- [x] 基于 Vue3+OOP+JSX 改造项目代码
- [x] 基于 Nacos 开发 nacos-federation 插件,实现各模块的服务注册&发现,统一管理远程地址
- [x] 修改 nacos-federation 插件实现其成为vite的插件进一步简化代码
- [x] 修改 nacos-federation 插件,实现 接口请求基地址从 配置中心获取,并注入到环境变量中
- [x] 配置 Traefik实现微前端网关限流与熔断重试IP 白名单,压缩
- [x] 封装自动生成 Traefik 代理配置的 nodejs 插件代码
- [x] 修改base增加资源来源地址修复资源错误加载的问题
- [x] 将vite.config.ts中的base 改到插件 nacos-federation中实现简化代码
- [x] 增加控制台日志,方便访问各种服务
- [x] pnpm 统一管理集中项目依赖,运行&构建等
- [x] 领域模块实现 docker 自动化构建部署上线
- [ ] Deno集成GraphQL
- [ ] ....
- [ ] 爬快手api实现一个完整项目测试脚手架不足
## 技术栈:
- [DDD领域驱动设计](https://zh.wikipedia.org/zh-cn/%E9%A0%98%E5%9F%9F%E9%A9%85%E5%8B%95%E8%A8%AD%E8%A8%88)
@@ -19,6 +46,7 @@
- [docker](https://www.docker.com/)
- [drone](https://drone.cool/)
- [nacos](https://nacos.io/?spm=5238cd80.47ee59c.0.0.189fcd36fF0ca9)
- [traefik](https://traefik.io/)
- [nginx](https://nginx.org/)
- [Vue3](https://cn.vuejs.org/)
- [Jsx](https://legacy.reactjs.org/docs/introducing-jsx.html)
@@ -208,52 +236,29 @@ export default class Header extends TSX<Props>()(Vue) implements Props {
}
```
## 开发任务
## 部署
- [x] 基于DDD理念改造
- [x] 基于 vite-plugin-federation 拆分领域模块为联邦模块,实现微前端
- [x] 基于 Vue3+OOP+JSX 改造项目代码
- [x] 基于 Nacos开发Nodejs模块实现各模块的服务注册&发现,统一管理远程地址
- [x] 配置 Traefik实现微前端网关限流与熔断重试IP 白名单,压缩
- [x] pnpm 统一管理集中项目依赖,运行&构建等
- [ ] 领域模块实现 docker 自动化构建部署上线
- [ ] Deno集成GraphQL
- [ ] ....
- [ ] 爬快手api实现一个完整项目测试脚手架不足
需要后端或运维参与,请注意咨询阅读文档,大致步骤如下:
## ~~【失效】运行 & 打包~~
**全局准备工作:**
```bash
# 1 下载代码
git clone https://gitee.com/bmycode/dddmicro-frontend.git
- 1: 准备 >=8台Linux服务器并提前安装配置好Docker确保网络可用建议安装 [1panel](https://1panel.cn/)
# 2 运行后端
cd back-end # 进入 后端 文件夹
deno install # 安装依赖
deno run dev # 运行后端
- 2: 在1台Linux服务器上部署公司自己的 Docker Registry 镜像存储库
- 3: 在1台Linux服务器上部署公司自己 Gitea 仓库
# 3 运行前端
cd front-end # 进入 前端 文件夹
pnpm install # 会同时为 所有模块 安装依赖
pnpm add -g concurrently # 全局安装 并发命令执行 插件,局部安装也行,随你。
pnpm run all # 构建 app-product 和 app-shared 并启动预览,并开发阶段启动 main-app 模块
# 注意:命令跑完后 ctrl + c 停止,重跑一次!!因为子模块内命令并发执行预览跑在构建之前,解决办法很简单,后面再搞。
pnpm run all
# 打开 main-app 主模块访问地址即可:[http://localhost:1300/](http://localhost:1300/)
- 4: 准本 N台运行 前端各模块 的Linux服务器并提前组成N个Docker Swarm 集群,以供前端各模块部署使用
# 4 部署上线
pnpm run build:main # 构建并预览主应用预览打包后的主应用没问题ctrl + c 停止。
# 子模块在 第三步 已经打包好了,不需要重新打包了。
- 5: 准本 >=3台运行 Nacos服务中心 的Linux服务器并提前组成Docker Swarm 集群,提前运行好,确保服务可用
- [Nacos 部署文档](./docker/nacos-cluster/README.md)
# 上传部署 各模块内的 dist/ 文件夹到服务器上,注意修改 vite.config.ts 内 plugins.federation.remotes.xxx 的地址!
# 后期会实现集中管理 地址配置,并根据环境变量动态加载!!
- 6: 准本 一台 运行 traefik 网关的Linux服务器提前运行好确保服务可用
- [Traefik 部署文档](./docker/traefik/README.md)
```
**前端工作:**
## 问 & 答
详细请看 各前端模块 存储库内的 帮助文档!!!
**问: 为什么vue项目要抛弃SFC写法而尝试jsx/tsx方式来编码**
> https://juejin.cn/post/6911175470255964174
- [商品模块 app-product](https://gitee.com/bmycode/app-product)
- [共享模块 app-shared](https://gitee.com/bmycode/app-shared)
**问:不会 vue3 jsx 语法,怎么办?**
> 答https://juejin.cn/post/7141674726434439176

View File

@@ -74,6 +74,15 @@ app.get("/api/productsInfo", (req: Request, ctx: { params: { id: number; }; }) =
return new Response(Res(result));
});
// test 测试接口
app.get("/nacos", (ctx: { params: { name: any; }; }) => {
console.log("test 测试接口 被运行");
return new Response(JSON.stringify({
title: "test测试接口"
}));
});
const exampleLoggerMiddleware = define.middleware((ctx: { req: { method: any; url: any; }; next: () => any; }) => {
console.log(`${ctx.req.method} ${ctx.req.url}`);
return ctx.next();

318
doc/DockerSwarm.md Normal file
View File

@@ -0,0 +1,318 @@
以下是完整的 Docker Swarm 命令大全:
## 1. Swarm 集群管理命令
### 初始化和管理 Swarm
```bash
# 初始化 Swarm 集群
docker swarm init --advertise-addr <IP地址>
# 初始化并指定默认地址池
docker swarm init --advertise-addr <IP地址> --default-addr-pool <网段> --default-addr-pool-mask-length <掩码>
# 查看 Swarm 集群信息
docker swarm inspect
# 查看 Swarm 加入令牌
docker swarm join-token worker # 工作节点令牌
docker swarm join-token manager # 管理节点令牌
# 更新令牌
docker swarm join-token --rotate worker
docker swarm join-token --rotate manager
# 离开 Swarm 集群
docker swarm leave # 工作节点离开
docker swarm leave --force # 管理节点强制离开
# 解锁 Swarm 集群
docker swarm unlock
docker swarm unlock-key # 查看解锁密钥
docker swarm unlock-key --rotate # 更新解锁密钥
```
## 2. 节点管理命令
### 节点操作
```bash
# 查看所有节点
docker node ls
# 查看节点详细信息
docker node inspect <节点名称或ID>
# 查看节点上的任务
docker node ps <节点名称或ID>
# 提升节点为管理节点
docker node promote <节点名称或ID>
# 降级节点为工作节点
docker node demote <节点名称或ID>
# 移除节点
docker node rm <节点名称或ID>
# 更新节点
docker node update --availability active <节点名称或ID> # 激活节点
docker node update --availability drain <节点名称或ID> # 排空节点(停止任务)
docker node update --availability pause <节点名称或ID> # 暂停节点
# 添加标签到节点
docker node update --label-add <key>=<value> <节点名称或ID>
# 移除节点标签
docker node update --label-rm <key> <节点名称或ID>
```
## 3. 服务管理命令
### 服务创建和操作
```bash
# 创建服务
docker service create --name <服务名> <镜像>
# 创建服务(完整参数示例)
docker service create \
--name nginx \
--replicas 3 \
--publish published=80,target=80 \
--mount type=bind,source=/host/path,target=/container/path \
--env ENV_VAR=value \
--constraint 'node.role==worker' \
--limit-cpu 0.5 \
--limit-memory 512M \
nginx:latest
# 查看所有服务
docker service ls
# 查看服务详细信息
docker service inspect <服务名>
# 查看服务任务状态
docker service ps <服务名>
# 查看服务日志
docker service logs <服务名>
docker service logs --follow <服务名> # 实时日志
docker service logs --tail 100 <服务名> # 最后100行日志
# 扩展服务副本数
docker service scale <服务名>=<数量>
# 更新服务
docker service update --image <新镜像> <服务名>
docker service update --replicas <数量> <服务名>
docker service update --force <服务名> # 强制更新(重新部署)
# 删除服务
docker service rm <服务名>
# 回滚服务到上次更新
docker service rollback <服务名>
```
### 服务更新参数
```bash
# 镜像相关
--image <镜像:标签> # 更新镜像
--rollback # 回滚到上一版本
# 副本和部署策略
--replicas <数量> # 设置副本数量
--update-parallelism <数量> # 同时更新的任务数
--update-delay <时间> # 更新间隔如10s
--update-failure-action <动作> # 失败动作pause/continue
--update-monitor <时间> # 监控时间如30s
--update-order <顺序> # 更新顺序start-first/stop-first
# 资源限制
--limit-cpu <值> # CPU限制如0.5
--limit-memory <值> # 内存限制如512M
--reserve-cpu <值> # 保留CPU
--reserve-memory <值> # 保留内存
# 网络和端口
--publish-add <端口映射> # 添加端口映射
--publish-rm <端口映射> # 移除端口映射
--network-add <网络> # 添加网络
--network-rm <网络> # 移除网络
# 约束和标签
--constraint-add <约束> # 添加约束
--constraint-rm <约束> # 移除约束
--label-add <标签> # 添加标签
--label-rm <标签> # 移除标签
# 环境变量
--env-add <变量> # 添加环境变量
--env-rm <变量> # 移除环境变量
--secret-add <密钥> # 添加密钥
--secret-rm <密钥> # 移除密钥
```
## 4. 栈Stack管理命令
### 使用 Docker Compose 文件部署
```bash
# 部署栈
docker stack deploy -c docker-compose.yml <栈名>
# 查看所有栈
docker stack ls
# 查看栈中的服务
docker stack services <栈名>
# 查看栈中服务的任务
docker stack ps <栈名>
# 删除栈
docker stack rm <栈名>
```
## 5. 网络管理命令
### Swarm 网络操作
```bash
# 查看网络
docker network ls
# 创建覆盖网络
docker network create --driver overlay --attachable <网络名>
# 查看网络详细信息
docker network inspect <网络名>
# 删除网络
docker network rm <网络名>
```
## 6. 配置和密钥管理
### 配置管理
```bash
# 创建配置
docker config create <配置名> <文件路径>
# 查看配置列表
docker config ls
# 查看配置内容
docker config inspect <配置名>
# 删除配置
docker config rm <配置名>
```
### 密钥管理
```bash
# 创建密钥
docker secret create <密钥名> <文件路径>
echo "secret content" | docker secret create <密钥名> -
# 查看密钥列表
docker secret ls
# 查看密钥内容
docker secret inspect <密钥名>
# 删除密钥
docker secret rm <密钥名>
```
## 7. 常用查询和监控命令
### 集群状态查询
```bash
# 查看集群系统信息
docker system df # 磁盘使用情况
docker system events # 系统事件
docker system info # 系统信息
# 监控资源使用
docker stats # 实时资源统计
docker stats --no-stream # 一次性资源统计
# 查看版本信息
docker version
```
## 8. 高级部署配置示例
### 使用 Docker Compose 文件
```yaml
# docker-compose.yml
version: '3.8'
services:
web:
image: nginx:latest
deploy:
replicas: 3
update_config:
parallelism: 2
delay: 10s
failure_action: rollback
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
resources:
limits:
cpus: '0.5'
memory: 512M
reservations:
cpus: '0.1'
memory: 128M
placement:
constraints:
- node.role == worker
ports:
- "80:80"
networks:
- webnet
networks:
webnet:
driver: overlay
attachable: true
```
### 部署栈
```bash
docker stack deploy -c docker-compose.yml myapp
```
## 9. 故障排查命令
### 排查和调试
```bash
# 查看节点连接状态
docker node ls
# 查看服务详细状态
docker service inspect --pretty <服务名>
# 查看任务日志
docker service logs --tail 50 <服务名>
# 在节点上执行命令
docker exec -it <容器ID> /bin/bash
# 查看 Swarm 集群事件
docker events
```

BIN
doc/jgt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 KiB

BIN
doc/newci.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 KiB

20
doc/临时命令.md Normal file
View File

@@ -0,0 +1,20 @@
# 包含 [skip actions] 的提交会跳过工作流
git commit -m "修复样式问题[skip actions]"
```bash
# 运行自动化集群部署脚本
./docker/deploy-swarm.sh
# --- 其他命令 ---
# 删除之前的部署(可选)
docker stack rm app-product
# 查看 app-product 集群运行情况
docker stack ps app-product
# 持续观察服务副本数是否达到预期
watch docker stack services app-product
```

View File

@@ -0,0 +1,21 @@
# 完善微前端架构的建议
除了已有的主模块、订单联邦模块、共享资源模块以及 nacos 服务中心和 traefik api 网关外,还可以考虑以下几个方面来完善微前端架构:
* **状态管理与通信机制**:微前端架构中,各模块间的状态管理和通信是关键。可以采用 Pinia 等状态管理库,实现跨模块的数据共享。例如,通过在共享资源模块中定义
Pinia store然后在主模块和订单联邦模块中引入并使用确保所有微前端模块都能访问同一缓存存储实现数据共享。
* **路由管理**:虽然 @originjs/vite - plugin - federation
插件本身支持模块的动态加载,但仍需要合理设计路由系统,确保不同模块之间的路由切换顺畅。可以在主模块中统一管理路由,根据用户的访问路径,动态加载对应的微前端模块。例如,使用
Vue Router 的动态路由功能,根据不同的 URL 路径加载订单联邦模块或共享资源模块的组件。
* **样式隔离与共享**:需要确保各个微前端模块的样式不会相互干扰。可以采用 CSS Modules、Shadow DOM 或 CSS-in-JS
等技术来实现样式隔离。同时,对于一些共享的样式,可以在共享资源模块中进行定义,然后通过模块联邦的方式共享给其他模块。
* **错误处理机制**
:由于微前端模块是独立开发和部署的,可能会出现各种错误。需要建立统一的错误处理机制,捕获并处理微前端模块在加载和运行过程中出现的错误。例如,在主模块中设置全局的错误捕获器,当订单联邦模块或共享资源模块出现错误时,能够及时捕获并展示友好的错误提示信息。
* **性能优化**:微前端架构中,多个模块的加载可能会影响性能。可以通过代码分割、懒加载等方式来优化性能。@originjs/vite -
plugin - federation 插件本身支持代码分割,可将每个微前端模块的代码拆分成多个小块,只在需要时加载相应的代码块。此外,还可以使用缓存策略,减少重复加载。
* **安全机制**随着微前端模块的增加安全问题也需要重视。需要确保各个模块之间的数据传输是安全的防止跨站脚本攻击XSS、跨站请求伪造CSRF等安全漏洞。可以采用身份验证、授权、输入验证等安全措施来保障系统的安全。

51
doc/思路整理.md Normal file
View File

@@ -0,0 +1,51 @@
## 遇到的问题
尝试将app-product 模块进行集群部署上线的时候我们会编写dockerfile对项目进行docker build打包
dockerfile 其中命令:
```bash
RUN npx vite build --base=/app-product/
```
正常流程是:
vite build 会使用项目中的 vite.config.ts进行前端项目的构建产生 dist 文件夹基于nginx提供给用户访问
但这时候,我们在 vite.config.ts 使用自己开发的插件 vite-plugin-nacos 将前端注册到服务中心
因为和服务中心链接后,插件会一直保持心跳导致无法断开,此时 `vite build` 已经 产生 dist了但是因为心跳阻塞了docker build 的后续执行,导致项目无法打包成镜像,也就无法开展后续流程进行集群部署。
## 新的改变!!
所有微前端都不需要进行服务注册,因为前端由浏览器访问,注册实例毫无意义,无法保持心跳,就无法检查服务的健康!
## 新的架构
<!-- 在 实现 **新的改变** 之前,需要熟悉现有系统的架构和设计,如下:
外网:
main-app是整个项目的入口和壳应用
网关traefik
内网:
app-product 商品模块
app-shared 共享模块 -->
局域网
所有模块之间,通过 配置发现 来获取 所依赖 远程模块 的 实际网址
外网
模块通过 网关 反向代理来访问 所依赖 远程模块
## 新的架构带来的新的问题
局域网模块 之间通过 配置发现也会和服务注册一样和Nacos集群保持链接导致 vite build 无法退出。。。。
## 如何解决??

View File

@@ -1,10 +1,12 @@
### 依赖注意
DDD 中允许 “外层依赖内层”(交付层依赖领域层),但不允许 “内层依赖外层”。
- 正确features交付层 → domains领域层
- 错误domains领域层 → features交付层
#### 避免类型重复定义
如果不在视图中直接使用领域类型,就需要在交付层重新定义一套类似的类型(如 “视图专用商品类型”),这会导致:
- 代码冗余和不一致风险
@@ -12,14 +14,15 @@ DDD 中允许 “外层依赖内层”(交付层依赖领域层),但不允
- 业务规则分散(领域层的类型约束可能在视图层被忽略)
### 横切关注点
- 特征:横向,影响多个模块,那些无法放入任何一个业务模块,而是会"横着"贯穿多个甚至所有模块的技术性需求。
- 案例:日志记录、身份认证、授权、事务管理、异常处理、缓存、性能监控
## 业务关注点
- 特征:通常局限于一个业务模块内
- 案例:计算订单总额、验证用户邮箱格式、处理库存扣减
### 对象职责的设计理念对比:
#### 贫血模型

View File

@@ -0,0 +1,147 @@
## nacos-cluster hostname 集群版
把 Nacos 部署到多台Linux 服务器上的版本配置,下面是**文件说明**
- docker-compose.yml: Docker compose + Docker Swarm 的编排文件
- nacos_config_export.zip: 存储在Nacos配置中心的项目配置部署成功后台导入即可
- mysql-schema.sql: Nacos 集群公用的数据库会自动导入到Mysql不用动
- prometheus: Prometheus 的配置文件
## 条件
- 至少三台起步的Linux主机安装有docker你可以使用虚拟机。
- 一个能正常访问Docker的网络环境拉取镜像
- 耐心,毅力,别慌!
## 集群配置
假设我们有三台Linux主机他们的IP地址为
- 1: 192.168.139.84
- 2: 192.168.139.15
- 3: 192.168.139.178
选一台你喜欢的(我选1),作为集群的 **Manager**然后SSH登录进去获取管理员权限然后
```bash
# 初始化 Swarm 集群
docker swarm init --advertise-addr 192.168.139.84
```
命令执行完成后,你会得到这样的返回:
```bash
Swarm initialized: current node (z5sucmc80ns8bxrdqhs71dg8x) is now a manager.
To add a worker to this swarm, run the following command:
# 复制这个
docker swarm join --token SWMTKN-1-3n9xxxxnwvsj6-4rhxx8xxxxzbbul 192.168.139.84:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
```
然后SSH登录**worker**机,也就是 上面的 23 服务器获取SSH权限后分别执行上面给的命令
```bash
docker swarm join --token SWMTKN-1-3n9xxxxnwvsj6-4rhxx8xxxxzbbul 192.168.139.84:2377
```
**这样 23 服务器就和1服务器组成了集群**
可以指执行命令查看是否组成集群:
```bash
# 查看所有节点
docker node ls
```
注意如果你的服务器有防火墙那么请记住放行端口下面是Ubuntu上的例子
```bash
# --- Docker Swarm 集群通信端口 ---
# TCP 2377: Swarm 管理端口 (仅在 Manager 和 Worker 之间通信)
sudo ufw allow 2377/tcp
# TCP/UDP 7946: 节点之间的控制平面和数据平面的 gossip 协议通信
sudo ufw allow 7946/tcp
sudo ufw allow 7946/udp
# UDP 4789: VXLAN 端口,用于 overlay 网络中容器之间的通信
sudo ufw allow 4789/udp
# --- MySQL 数据库端口 (可选) ---
# TCP 3306: MySQL 数据库端口(需要外部访问数据库时候才开)
sudo ufw allow 3306/tcp
# --- Nacos 集群端口 ---
# Nacos 管理后台端口
sudo ufw allow 8080/tcp
# 客户端gRPC请求服务端端口用于客户端向服务端发起连接和请求
sudo ufw allow 9848/tcp
# Nacos HTTP API 端口用于Nacos AdminAPI及HTTP OpenAPI的访问
sudo ufw allow 8848/tcp
# 重新加载防火墙以应用所有规则
sudo ufw reload
# 查看配置和状态
ufw status
```
## 部署运行
### 运行启动
将本文件夹内所有文件上传到 1号服务器然后在文件夹内执行命令
```bash
# 部署栈,这个过程有点慢,因为需要拉取镜像,等!
docker stack deploy -c docker-compose.yml nacos-cluster
# 命令完成后,需要等待 Nacos 启动,大概几十秒到一分钟这样!!
# 启动成功后直接查看下面教程【Nacos后台】
# --- 其他命令 ---
# 部署后,不用了,可以使用这个 删除栈
docker stack rm nacos-cluster
# 可以查看Nacos的 实时日志:
docker service logs --follow nacos-cluster_nacos
# 可以查看Mysql的 实时日志:
docker service logs --follow nacos-cluster_mysql
# 查看 nacos-cluster 集群运行情况
docker stack ps nacos-cluster
# 持续观察服务副本数是否达到预期
watch docker stack services nacos-cluster
```
### Nacos后台
选择一个地址浏览器打开,注册登录账户:
- (http://192.168.139.84:8080)[http://192.168.139.84:8080]
- (http://192.168.139.15:8080)[http://192.168.139.15:8080]
- (http://192.168.139.178:8080)[http://192.168.139.178:8080]
然后打开左侧导航 **配置管理** --> **配置列表** --> **导入配置**
选择 nacos_config.zip 导入即可。
### 其他后台:
- [Prometheus](http://192.168.139.84:9090)
- [Grafana](http://192.168.139.84:3000)
- 默认账户admin
- 默认密码密码admin
**结束**

View File

@@ -0,0 +1,162 @@
# 使用版本 3.8,它与 Swarm 模式兼容
version: "3.8"
# 定义服务
services:
# MySQL 数据库服务
mysql:
# 使用指定的 MySQL 镜像
image: mysql:8.0.31
# 使用环境变量文件,与原来的配置保持一致
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=nacos_devtest
- MYSQL_USER=nacos
- MYSQL_PASSWORD=nacos
- LANG=C.UTF-8
# 数据卷挂载,确保 MySQL 数据持久化
volumes:
- mysql-data:/var/lib/mysql
- ./mysql-schema.sql:/docker-entrypoint-initdb.d/mysql-schema.sql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
ports:
- target: 3306
published: 3306
protocol: tcp
mode: host # 数据库通常使用 host 模式,避免路由网格开销
# 健康检查,确保数据库启动完成后再启动 Nacos
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
interval: 5s
timeout: 10s
retries: 10
# Swarm 部署配置
deploy:
# 副本数为 1因为单个数据库实例足够
replicas: 1
# 重启策略:任何情况下容器退出都自动重启
restart_policy:
condition: any
# 将服务加入我们创建的网络
networks:
- nacos-net
# Nacos 服务
nacos:
hostname: "nacos{{.Task.Slot}}"
# 使用 Nacos 镜像
image: nacos/nacos-server:v3.1.0
# 挂载日志目录
volumes:
- nacos-logs:/home/nacos/logs
# 暴露 Nacos 所需的端口
ports:
- target: 8080
published: 8080
protocol: tcp
mode: ingress # Web 控制台使用路由网格实现负载均衡
- target: 7848
published: 7848
protocol: tcp
mode: ingress # 集群通信端口
- target: 8848
published: 8848
protocol: tcp
mode: ingress # 主要服务端口,使用路由网格
- target: 9848
published: 9848
protocol: tcp
mode: ingress # gRPC 端口
- target: 9849
published: 9849
protocol: tcp
mode: ingress # gRPC 端口
# 使用环境变量文件
environment:
- MODE=cluster
- PREFER_HOST_MODE=hostname
- NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=mysql
- MYSQL_SERVICE_DB_NAME=nacos_devtest
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=nacos
- MYSQL_SERVICE_PASSWORD=nacos
- MYSQL_SERVICE_RETRY_COUNT=10
- MYSQL_SERVICE_RETRY_DELAY=5000
- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
- NACOS_SERVER_AUTH_ENABLE=false
- NACOS_CONSOLE_AUTH_ENABLE=false
- NACOS_AUTH_ENABLE=false
- NACOS_AUTH_IDENTITY_KEY=bmy
- NACOS_AUTH_IDENTITY_VALUE=lb714500.
- NACOS_AUTH_TOKEN=KjdAdzBIMTBtKElJS0NrWTIxNkJ0RXN4YXlHaipSUmdDZA==
# Swarm 部署配置
deploy:
# 关键:指定副本数为 3Swarm 会自动创建 3 个 Nacos 容器
replicas: 3
# 重启策略
restart_policy:
condition: any
# 启动顺序控制
# 这是 Swarm 中实现 "depends_on" 的方式
# 它会在 mysql 服务健康检查通过后,才开始启动 Nacos 服务
update_config:
parallelism: 1
delay: 30s
# 资源限制(可选,可根据你的服务器配置调整)
resources:
limits:
cpus: '0.50'
memory: '512M'
reservations:
cpus: '0.25'
memory: '256M'
networks:
- nacos-net
# Prometheus 服务
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus/prometheus-cluster.yaml:/etc/prometheus/prometheus.yml
ports:
- target: 9090
published: 9090
protocol: tcp
mode: ingress # 监控服务使用路由网格
deploy:
replicas: 1
restart_policy:
condition: on-failure
update_config:
order: start-first
networks:
- nacos-net
# Grafana 服务
grafana:
image: grafana/grafana:latest
ports:
- target: 3000
published: 3000
protocol: tcp
mode: ingress # Grafana 使用路由网格
deploy:
# 通常 Grafana 单实例即可
replicas: 1
restart_policy:
condition: on-failure
networks:
- nacos-net
volumes:
nacos-logs:
driver: local
mysql-data:
driver: local
networks:
nacos-net:
driver: overlay

View File

@@ -0,0 +1,188 @@
/*
* Copyright 1999-2018 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/******************************************/
/* 表名称 = config_info */
/******************************************/
CREATE TABLE `config_info`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
`c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description',
`c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage',
`effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述',
`type` varchar(64) DEFAULT NULL COMMENT '配置的类型',
`c_schema` text COMMENT '配置的模式',
`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
/******************************************/
/* 表名称 = config_info since 2.5.0 */
/******************************************/
CREATE TABLE `config_info_gray`
(
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`src_user` text COMMENT 'src_user',
`src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip',
`gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create',
`gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
`gray_name` varchar(128) NOT NULL COMMENT 'gray_name',
`gray_rule` text NOT NULL COMMENT 'gray_rule',
`encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`),
KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`),
KEY `idx_gmt_modified` (`gmt_modified`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='config_info_gray';
/******************************************/
/* 表名称 = config_tags_relation */
/******************************************/
CREATE TABLE `config_tags_relation`
(
`id` bigint(20) NOT NULL COMMENT 'id',
`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
`nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',
PRIMARY KEY (`nid`),
UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
/******************************************/
/* 表名称 = group_capacity */
/******************************************/
CREATE TABLE `group_capacity`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID空字符表示整个集群',
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额0表示使用默认值',
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限单位为字节0表示使用默认值',
`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数0表示使用默认值',
`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限单位为字节0表示使用默认值',
`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
/******************************************/
/* 表名称 = his_config_info */
/******************************************/
CREATE TABLE `his_config_info`
(
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
`op_type` char(10) DEFAULT NULL COMMENT 'operation type',
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',
`publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal',
`gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name',
`ext_info` longtext DEFAULT NULL COMMENT 'ext info',
PRIMARY KEY (`nid`),
KEY `idx_gmt_create` (`gmt_create`),
KEY `idx_gmt_modified` (`gmt_modified`),
KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
/******************************************/
/* 表名称 = tenant_capacity */
/******************************************/
CREATE TABLE `tenant_capacity`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额0表示使用默认值',
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限单位为字节0表示使用默认值',
`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限单位为字节0表示使用默认值',
`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
CREATE TABLE `tenant_info`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`kp` varchar(128) NOT NULL COMMENT 'kp',
`tenant_id` varchar(128) default '' COMMENT 'tenant_id',
`tenant_name` varchar(128) default '' COMMENT 'tenant_name',
`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
CREATE TABLE `users`
(
`username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username',
`password` varchar(500) NOT NULL COMMENT 'password',
`enabled` boolean NOT NULL COMMENT 'enabled'
);
CREATE TABLE `roles`
(
`username` varchar(50) NOT NULL COMMENT 'username',
`role` varchar(50) NOT NULL COMMENT 'role',
UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);
CREATE TABLE `permissions`
(
`role` varchar(50) NOT NULL COMMENT 'role',
`resource` varchar(128) NOT NULL COMMENT 'resource',
`action` varchar(8) NOT NULL COMMENT 'action',
UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);

Binary file not shown.

View File

@@ -31,4 +31,4 @@ scrape_configs:
- job_name: 'nacos'
metrics_path: '/nacos/actuator/prometheus'
static_configs:
- targets: [ 'nacos:8848' ]
- targets: [ "nacos1:8848","nacos2:8848","nacos3:8848" ]

View File

@@ -1,33 +0,0 @@
version: "2"
services:
nacos:
image: nacos/nacos-server:latest
container_name: nacos-standalone
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
- NACOS_AUTH_IDENTITY_KEY=serverIdentity
- NACOS_AUTH_IDENTITY_VALUE=security
- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
volumes:
- ./standalone-logs/:/home/nacos/logs
ports:
- "8085:8080"
- "8848:8848"
- "9848:9848"
prometheus:
container_name: prometheus
image: prom/prometheus:latest
volumes:
- ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
depends_on:
- nacos
restart: on-failure
grafana:
container_name: grafana
image: grafana/grafana:latest
ports:
- "3000:3000"
restart: on-failure

File diff suppressed because it is too large Load Diff

View File

@@ -1,462 +0,0 @@
2025-09-22 01:17:09,925 INFO SPI service [com.alipay.sofa.jraft.JRaftServiceFactory - com.alipay.sofa.jraft.core.DefaultJRaftServiceFactory] loading.
2025-09-22 01:17:10,163 INFO SPI service [com.alipay.sofa.jraft.rpc.RaftRpcFactory - com.alipay.sofa.jraft.rpc.impl.GrpcRaftRpcFactory] loading.
2025-09-22 01:17:10,379 INFO SPI service [com.alipay.sofa.jraft.util.JRaftSignalHandler - com.alipay.sofa.jraft.NodeDescribeSignalHandler] loading.
2025-09-22 01:17:10,381 INFO SPI service [com.alipay.sofa.jraft.util.JRaftSignalHandler - com.alipay.sofa.jraft.NodeMetricsSignalHandler] loading.
2025-09-22 01:17:10,381 INFO SPI service [com.alipay.sofa.jraft.util.JRaftSignalHandler - com.alipay.sofa.jraft.ThreadPoolMetricsSignalHandler] loading.
2025-09-22 01:17:10,384 INFO SPI service [com.alipay.sofa.jraft.util.timer.RaftTimerFactory - com.alipay.sofa.jraft.util.timer.DefaultRaftTimerFactory] loading.
2025-09-22 01:17:10,388 INFO The number of active nodes increment to 1.
2025-09-22 01:17:10,902 INFO Starts FSMCaller successfully.
2025-09-22 01:17:10,911 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot.
2025-09-22 01:17:10,925 INFO Node <naming_persistent_service_v2/d97c29d750b4:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:10,929 INFO Node <naming_persistent_service_v2/d97c29d750b4:7848> start vote and grant vote self, term=0.
2025-09-22 01:17:10,969 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_persistent_service_v2/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=27 ms
2025-09-22 01:17:10,970 INFO Node <naming_persistent_service_v2/d97c29d750b4:7848> become leader of group, term=1, conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:10,977 INFO -Djraft.recyclers.maxCapacityPerThread: 4096.
2025-09-22 01:17:10,987 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:17:10,987 INFO Start the RaftGroupService successfully.
2025-09-22 01:17:11,017 INFO onLeaderStart: term=1.
2025-09-22 01:17:11,050 INFO The number of active nodes increment to 2.
2025-09-22 01:17:11,207 INFO Starts FSMCaller successfully.
2025-09-22 01:17:11,208 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_persistent_service/snapshot.
2025-09-22 01:17:11,211 INFO Node <naming_persistent_service/d97c29d750b4:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:11,213 INFO Node <naming_persistent_service/d97c29d750b4:7848> start vote and grant vote self, term=0.
2025-09-22 01:17:11,219 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_persistent_service/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=5 ms
2025-09-22 01:17:11,220 INFO Node <naming_persistent_service/d97c29d750b4:7848> become leader of group, term=1, conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:11,221 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:17:11,221 INFO Start the RaftGroupService successfully.
2025-09-22 01:17:11,231 INFO onLeaderStart: term=1.
2025-09-22 01:17:11,242 INFO Creating new channel to: d97c29d750b4:7848.
2025-09-22 01:17:11,265 INFO The channel d97c29d750b4:7848 is in state: CONNECTING.
2025-09-22 01:17:11,273 INFO The number of active nodes increment to 3.
2025-09-22 01:17:11,398 INFO Starts FSMCaller successfully.
2025-09-22 01:17:11,398 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot.
2025-09-22 01:17:11,401 INFO Node <naming_instance_metadata/d97c29d750b4:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:11,402 INFO Node <naming_instance_metadata/d97c29d750b4:7848> start vote and grant vote self, term=0.
2025-09-22 01:17:11,407 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_instance_metadata/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=4 ms
2025-09-22 01:17:11,407 INFO Node <naming_instance_metadata/d97c29d750b4:7848> become leader of group, term=1, conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:11,408 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:17:11,408 INFO Start the RaftGroupService successfully.
2025-09-22 01:17:11,413 INFO onLeaderStart: term=1.
2025-09-22 01:17:11,414 INFO The number of active nodes increment to 4.
2025-09-22 01:17:11,538 INFO Starts FSMCaller successfully.
2025-09-22 01:17:11,538 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_service_metadata/snapshot.
2025-09-22 01:17:11,540 INFO Node <naming_service_metadata/d97c29d750b4:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:11,541 INFO Node <naming_service_metadata/d97c29d750b4:7848> start vote and grant vote self, term=0.
2025-09-22 01:17:11,546 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_service_metadata/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=5 ms
2025-09-22 01:17:11,547 INFO Node <naming_service_metadata/d97c29d750b4:7848> become leader of group, term=1, conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:11,548 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:17:11,548 INFO Start the RaftGroupService successfully.
2025-09-22 01:17:11,553 INFO onLeaderStart: term=1.
2025-09-22 01:17:11,671 INFO The channel d97c29d750b4:7848 is in state: READY.
2025-09-22 01:17:11,671 INFO The channel d97c29d750b4:7848 has successfully established.
2025-09-22 01:17:11,934 INFO The number of active nodes increment to 5.
2025-09-22 01:17:12,065 INFO Starts FSMCaller successfully.
2025-09-22 01:17:12,065 WARN No data for snapshot reader /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot.
2025-09-22 01:17:12,067 INFO Node <lock_acquire_service_v2/d97c29d750b4:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:12,068 INFO Node <lock_acquire_service_v2/d97c29d750b4:7848> start vote and grant vote self, term=0.
2025-09-22 01:17:12,074 INFO Save raft meta, path=/home/nacos/data/protocol/raft/lock_acquire_service_v2/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=6 ms
2025-09-22 01:17:12,074 INFO Node <lock_acquire_service_v2/d97c29d750b4:7848> become leader of group, term=1, conf=d97c29d750b4:7848, oldConf=.
2025-09-22 01:17:12,075 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:17:12,075 INFO Start the RaftGroupService successfully.
2025-09-22 01:17:12,298 INFO onLeaderStart: term=1.
2025-09-22 01:34:20,825 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_service_metadata/snapshot/snapshot_1.
2025-09-22 01:34:20,826 INFO Renaming /home/nacos/data/protocol/raft/naming_service_metadata/snapshot/temp to /home/nacos/data/protocol/raft/naming_service_metadata/snapshot/snapshot_1.
2025-09-22 01:43:44,805 INFO Deleting snapshot /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot/snapshot_1.
2025-09-22 01:43:44,805 INFO Renaming /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot/temp to /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot/snapshot_1.
2025-09-22 01:45:01,542 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot/snapshot_1.
2025-09-22 01:45:01,542 INFO Renaming /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot/temp to /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot/snapshot_1.
2025-09-22 01:45:29,319 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_persistent_service/snapshot/snapshot_1.
2025-09-22 01:45:29,319 INFO Renaming /home/nacos/data/protocol/raft/naming_persistent_service/snapshot/temp to /home/nacos/data/protocol/raft/naming_persistent_service/snapshot/snapshot_1.
2025-09-22 01:45:53,354 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot/snapshot_1.
2025-09-22 01:45:53,354 INFO Renaming /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot/temp to /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot/snapshot_1.
2025-09-22 01:49:55,805 INFO Node <lock_acquire_service_v2/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_LEADER.
2025-09-22 01:49:55,807 INFO Fail to find the next candidate, group lock_acquire_service_v2.
2025-09-22 01:49:55,807 INFO onLeaderStop: status=Status[ESHUTDOWN<1007>: Raft node is going to quit.].
2025-09-22 01:49:55,815 INFO Save raft meta, path=/home/nacos/data/protocol/raft/lock_acquire_service_v2/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=5 ms
2025-09-22 01:49:55,815 INFO Shutting down FSMCaller...
2025-09-22 01:49:55,816 INFO ThreadPool is terminated: JRaft-RPC-Processor, com.alipay.sofa.jraft.util.MetricThreadPoolExecutor@40865606[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,816 INFO ThreadPool is terminated: JRaft-Node-ScheduleThreadPool, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@68e5b70b[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,816 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-ElectionTimer-<lock_acquire_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,816 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-VoteTimer-<lock_acquire_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,816 INFO onShutdown.
2025-09-22 01:49:55,816 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=2500, name='JRaft-StepDownTimer-<lock_acquire_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,817 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=1800000, name='JRaft-SnapshotTimer-<lock_acquire_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,817 INFO The number of active nodes decrement to 4.
2025-09-22 01:49:55,817 INFO Node <lock_acquire_service_v2/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_SHUTTING.
2025-09-22 01:49:55,817 INFO Stop the RaftGroupService successfully.
2025-09-22 01:49:55,817 INFO Node <naming_service_metadata/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_LEADER.
2025-09-22 01:49:55,818 INFO Fail to find the next candidate, group naming_service_metadata.
2025-09-22 01:49:55,818 INFO onLeaderStop: status=Status[ESHUTDOWN<1007>: Raft node is going to quit.].
2025-09-22 01:49:55,829 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_service_metadata/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=11 ms
2025-09-22 01:49:55,829 INFO Shutting down FSMCaller...
2025-09-22 01:49:55,829 INFO ThreadPool is terminated: JRaft-RPC-Processor, com.alipay.sofa.jraft.util.MetricThreadPoolExecutor@3e7d545c[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,830 INFO onShutdown.
2025-09-22 01:49:55,830 INFO ThreadPool is terminated: JRaft-Node-ScheduleThreadPool, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@7be5f177[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,830 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-ElectionTimer-<naming_service_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,830 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-VoteTimer-<naming_service_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,830 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=2500, name='JRaft-StepDownTimer-<naming_service_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,830 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=1800000, name='JRaft-SnapshotTimer-<naming_service_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,831 INFO Node <naming_service_metadata/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_SHUTTING.
2025-09-22 01:49:55,831 INFO Stop the RaftGroupService successfully.
2025-09-22 01:49:55,831 INFO Node <naming_persistent_service/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_LEADER.
2025-09-22 01:49:55,830 INFO The number of active nodes decrement to 3.
2025-09-22 01:49:55,831 INFO onLeaderStop: status=Status[ESHUTDOWN<1007>: Raft node is going to quit.].
2025-09-22 01:49:55,831 INFO Fail to find the next candidate, group naming_persistent_service.
2025-09-22 01:49:55,840 INFO DB destroyed, the db path is: /home/nacos/data/protocol/raft/lock_acquire_service_v2/log.
2025-09-22 01:49:55,840 INFO DB destroyed, the db path is: /home/nacos/data/protocol/raft/naming_service_metadata/log.
2025-09-22 01:49:55,844 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_persistent_service/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=11 ms
2025-09-22 01:49:55,844 INFO Shutting down FSMCaller...
2025-09-22 01:49:55,844 INFO ThreadPool is terminated: JRaft-RPC-Processor, com.alipay.sofa.jraft.util.MetricThreadPoolExecutor@2bb5a20c[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,844 INFO ThreadPool is terminated: JRaft-Node-ScheduleThreadPool, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@7f3ecc92[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,844 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-ElectionTimer-<naming_persistent_service/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,844 INFO onShutdown.
2025-09-22 01:49:55,844 INFO The number of active nodes decrement to 2.
2025-09-22 01:49:55,844 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-VoteTimer-<naming_persistent_service/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,845 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=2500, name='JRaft-StepDownTimer-<naming_persistent_service/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,845 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=1800000, name='JRaft-SnapshotTimer-<naming_persistent_service/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,845 INFO Node <naming_persistent_service/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_SHUTTING.
2025-09-22 01:49:55,845 INFO Stop the RaftGroupService successfully.
2025-09-22 01:49:55,845 INFO Node <naming_instance_metadata/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_LEADER.
2025-09-22 01:49:55,845 INFO Fail to find the next candidate, group naming_instance_metadata.
2025-09-22 01:49:55,846 INFO onLeaderStop: status=Status[ESHUTDOWN<1007>: Raft node is going to quit.].
2025-09-22 01:49:55,847 INFO DB destroyed, the db path is: /home/nacos/data/protocol/raft/naming_persistent_service/log.
2025-09-22 01:49:55,853 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_instance_metadata/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=5 ms
2025-09-22 01:49:55,853 INFO Shutting down FSMCaller...
2025-09-22 01:49:55,853 INFO ThreadPool is terminated: JRaft-RPC-Processor, com.alipay.sofa.jraft.util.MetricThreadPoolExecutor@42accfc7[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,853 INFO ThreadPool is terminated: JRaft-Node-ScheduleThreadPool, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@448fa05c[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,854 INFO onShutdown.
2025-09-22 01:49:55,854 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-ElectionTimer-<naming_instance_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,854 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-VoteTimer-<naming_instance_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,854 INFO The number of active nodes decrement to 1.
2025-09-22 01:49:55,854 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=2500, name='JRaft-StepDownTimer-<naming_instance_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,854 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=1800000, name='JRaft-SnapshotTimer-<naming_instance_metadata/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,854 INFO Node <naming_instance_metadata/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_SHUTTING.
2025-09-22 01:49:55,854 INFO Stop the RaftGroupService successfully.
2025-09-22 01:49:55,854 INFO Node <naming_persistent_service_v2/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_LEADER.
2025-09-22 01:49:55,854 INFO Fail to find the next candidate, group naming_persistent_service_v2.
2025-09-22 01:49:55,854 INFO onLeaderStop: status=Status[ESHUTDOWN<1007>: Raft node is going to quit.].
2025-09-22 01:49:55,858 INFO DB destroyed, the db path is: /home/nacos/data/protocol/raft/naming_instance_metadata/log.
2025-09-22 01:49:55,862 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_persistent_service_v2/meta-data, term=1, votedFor=d97c29d750b4:7848, cost time=7 ms
2025-09-22 01:49:55,863 INFO Shutting down FSMCaller...
2025-09-22 01:49:55,863 INFO ThreadPool is terminated: JRaft-RPC-Processor, com.alipay.sofa.jraft.util.MetricThreadPoolExecutor@41762d5f[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,863 INFO ThreadPool is terminated: JRaft-Node-ScheduleThreadPool, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@65800041[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0].
2025-09-22 01:49:55,863 INFO onShutdown.
2025-09-22 01:49:55,863 INFO The number of active nodes decrement to 0.
2025-09-22 01:49:55,870 INFO ThreadPool is terminated: JRaft-Global-ElectionTimer, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@1c027299[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 5].
2025-09-22 01:49:55,870 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-ElectionTimer-<naming_persistent_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,870 INFO ThreadPool is terminated: JRaft-Global-VoteTimer, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@5d0bfaca[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 5].
2025-09-22 01:49:55,870 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=5000, name='JRaft-VoteTimer-<naming_persistent_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,872 INFO ThreadPool is terminated: JRaft-Global-StepDownTimer, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@5dc137f9[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 3925].
2025-09-22 01:49:55,873 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=2500, name='JRaft-StepDownTimer-<naming_persistent_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,874 INFO ThreadPool is terminated: JRaft-Global-SnapshotTimer, com.alipay.sofa.jraft.util.MetricScheduledThreadPoolExecutor@c0a0237[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 5].
2025-09-22 01:49:55,875 INFO Destroy timer: RepeatedTimer{timeout=null, stopped=true, running=false, destroyed=true, invoking=false, timeoutMs=1800000, name='JRaft-SnapshotTimer-<naming_persistent_service_v2/d97c29d750b4:7848>'}.
2025-09-22 01:49:55,875 INFO Node <naming_persistent_service_v2/d97c29d750b4:7848> shutdown, currTerm=1 state=STATE_SHUTTING.
2025-09-22 01:49:55,875 INFO Stop the RaftGroupService successfully.
2025-09-22 01:49:55,875 INFO Shutdown managed channel: d97c29d750b4:7848, ManagedChannelOrphanWrapper{delegate=ManagedChannelImpl{logId=10, target=d97c29d750b4:7848}}.
2025-09-22 01:49:55,877 INFO The channel d97c29d750b4:7848 is in state: SHUTDOWN.
2025-09-22 01:49:55,877 WARN This channel d97c29d750b4:7848 has started shutting down. Any new RPCs should fail immediately.
2025-09-22 01:49:55,880 INFO DB destroyed, the db path is: /home/nacos/data/protocol/raft/naming_persistent_service_v2/log.
2025-09-22 01:49:55,884 INFO Connection disconnected: /192.168.97.3:37040
2025-09-22 01:49:55,891 INFO ThreadPool is terminated: JRaft-RPC-Processor, com.alipay.sofa.jraft.util.MetricThreadPoolExecutor@32647569[Shutting down, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2884].
2025-09-22 01:50:09,971 INFO SPI service [com.alipay.sofa.jraft.JRaftServiceFactory - com.alipay.sofa.jraft.core.DefaultJRaftServiceFactory] loading.
2025-09-22 01:50:10,077 INFO SPI service [com.alipay.sofa.jraft.rpc.RaftRpcFactory - com.alipay.sofa.jraft.rpc.impl.GrpcRaftRpcFactory] loading.
2025-09-22 01:50:10,315 INFO SPI service [com.alipay.sofa.jraft.util.JRaftSignalHandler - com.alipay.sofa.jraft.NodeDescribeSignalHandler] loading.
2025-09-22 01:50:10,317 INFO SPI service [com.alipay.sofa.jraft.util.JRaftSignalHandler - com.alipay.sofa.jraft.NodeMetricsSignalHandler] loading.
2025-09-22 01:50:10,318 INFO SPI service [com.alipay.sofa.jraft.util.JRaftSignalHandler - com.alipay.sofa.jraft.ThreadPoolMetricsSignalHandler] loading.
2025-09-22 01:50:10,322 INFO SPI service [com.alipay.sofa.jraft.util.timer.RaftTimerFactory - com.alipay.sofa.jraft.util.timer.DefaultRaftTimerFactory] loading.
2025-09-22 01:50:10,327 INFO The number of active nodes increment to 1.
2025-09-22 01:50:10,813 INFO Starts FSMCaller successfully.
2025-09-22 01:50:10,819 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot.
2025-09-22 01:50:10,830 INFO Node <naming_persistent_service_v2/8e5a20eec60e:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:10,832 INFO Node <naming_persistent_service_v2/8e5a20eec60e:7848> start vote and grant vote self, term=0.
2025-09-22 01:50:10,857 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_persistent_service_v2/meta-data, term=1, votedFor=8e5a20eec60e:7848, cost time=20 ms
2025-09-22 01:50:10,857 INFO Node <naming_persistent_service_v2/8e5a20eec60e:7848> become leader of group, term=1, conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:10,859 INFO -Djraft.recyclers.maxCapacityPerThread: 4096.
2025-09-22 01:50:10,862 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:50:10,862 INFO Start the RaftGroupService successfully.
2025-09-22 01:50:10,875 INFO onLeaderStart: term=1.
2025-09-22 01:50:10,888 INFO The number of active nodes increment to 2.
2025-09-22 01:50:10,955 INFO Creating new channel to: 8e5a20eec60e:7848.
2025-09-22 01:50:10,963 INFO The channel 8e5a20eec60e:7848 is in state: CONNECTING.
2025-09-22 01:50:10,974 INFO Starts FSMCaller successfully.
2025-09-22 01:50:10,974 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_persistent_service/snapshot.
2025-09-22 01:50:10,976 INFO Node <naming_persistent_service/8e5a20eec60e:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:10,977 INFO Node <naming_persistent_service/8e5a20eec60e:7848> start vote and grant vote self, term=0.
2025-09-22 01:50:10,982 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_persistent_service/meta-data, term=1, votedFor=8e5a20eec60e:7848, cost time=5 ms
2025-09-22 01:50:10,982 INFO Node <naming_persistent_service/8e5a20eec60e:7848> become leader of group, term=1, conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:10,984 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:50:10,984 INFO Start the RaftGroupService successfully.
2025-09-22 01:50:10,987 INFO onLeaderStart: term=1.
2025-09-22 01:50:11,019 INFO The number of active nodes increment to 3.
2025-09-22 01:50:11,130 INFO Starts FSMCaller successfully.
2025-09-22 01:50:11,130 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot.
2025-09-22 01:50:11,131 INFO Node <naming_instance_metadata/8e5a20eec60e:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:11,132 INFO Node <naming_instance_metadata/8e5a20eec60e:7848> start vote and grant vote self, term=0.
2025-09-22 01:50:11,137 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_instance_metadata/meta-data, term=1, votedFor=8e5a20eec60e:7848, cost time=4 ms
2025-09-22 01:50:11,137 INFO Node <naming_instance_metadata/8e5a20eec60e:7848> become leader of group, term=1, conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:11,138 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:50:11,138 INFO Start the RaftGroupService successfully.
2025-09-22 01:50:11,143 INFO The number of active nodes increment to 4.
2025-09-22 01:50:11,144 INFO onLeaderStart: term=1.
2025-09-22 01:50:11,260 INFO Starts FSMCaller successfully.
2025-09-22 01:50:11,260 WARN No data for snapshot reader /home/nacos/data/protocol/raft/naming_service_metadata/snapshot.
2025-09-22 01:50:11,263 INFO Node <naming_service_metadata/8e5a20eec60e:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:11,265 INFO Node <naming_service_metadata/8e5a20eec60e:7848> start vote and grant vote self, term=0.
2025-09-22 01:50:11,265 INFO The channel 8e5a20eec60e:7848 is in state: READY.
2025-09-22 01:50:11,266 INFO The channel 8e5a20eec60e:7848 has successfully established.
2025-09-22 01:50:11,270 INFO Save raft meta, path=/home/nacos/data/protocol/raft/naming_service_metadata/meta-data, term=1, votedFor=8e5a20eec60e:7848, cost time=4 ms
2025-09-22 01:50:11,270 INFO Node <naming_service_metadata/8e5a20eec60e:7848> become leader of group, term=1, conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:11,271 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:50:11,271 INFO Start the RaftGroupService successfully.
2025-09-22 01:50:11,275 INFO onLeaderStart: term=1.
2025-09-22 01:50:11,614 INFO The number of active nodes increment to 5.
2025-09-22 01:50:11,726 INFO Starts FSMCaller successfully.
2025-09-22 01:50:11,727 WARN No data for snapshot reader /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot.
2025-09-22 01:50:11,728 INFO Node <lock_acquire_service_v2/8e5a20eec60e:7848> init, term=0, lastLogId=LogId [index=0, term=0], conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:11,730 INFO Node <lock_acquire_service_v2/8e5a20eec60e:7848> start vote and grant vote self, term=0.
2025-09-22 01:50:11,735 INFO Save raft meta, path=/home/nacos/data/protocol/raft/lock_acquire_service_v2/meta-data, term=1, votedFor=8e5a20eec60e:7848, cost time=5 ms
2025-09-22 01:50:11,736 INFO Node <lock_acquire_service_v2/8e5a20eec60e:7848> become leader of group, term=1, conf=8e5a20eec60e:7848, oldConf=.
2025-09-22 01:50:11,736 WARN RPC server is not started in RaftGroupService.
2025-09-22 01:50:11,736 INFO Start the RaftGroupService successfully.
2025-09-22 01:50:11,860 INFO onLeaderStart: term=1.
2025-09-22 02:06:11,715 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_persistent_service/snapshot/snapshot_1.
2025-09-22 02:06:11,715 INFO Renaming /home/nacos/data/protocol/raft/naming_persistent_service/snapshot/temp to /home/nacos/data/protocol/raft/naming_persistent_service/snapshot/snapshot_1.
2025-09-22 02:08:53,517 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot/snapshot_1.
2025-09-22 02:08:53,518 INFO Renaming /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot/temp to /home/nacos/data/protocol/raft/naming_instance_metadata/snapshot/snapshot_1.
2025-09-22 02:13:51,045 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_service_metadata/snapshot/snapshot_1.
2025-09-22 02:13:51,046 INFO Renaming /home/nacos/data/protocol/raft/naming_service_metadata/snapshot/temp to /home/nacos/data/protocol/raft/naming_service_metadata/snapshot/snapshot_1.
2025-09-22 02:14:37,481 INFO Deleting snapshot /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot/snapshot_1.
2025-09-22 02:14:37,481 INFO Renaming /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot/temp to /home/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot/snapshot_1.
2025-09-22 02:18:27,203 INFO Deleting snapshot /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot/snapshot_1.
2025-09-22 02:18:27,204 INFO Renaming /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot/temp to /home/nacos/data/protocol/raft/lock_acquire_service_v2/snapshot/snapshot_1.

File diff suppressed because it is too large Load Diff

View File

@@ -1,100 +0,0 @@
2025-09-22 01:17:00,942 INFO notifyConnectTimeout:100
2025-09-22 01:17:00,947 INFO notifySocketTimeout:200
2025-09-22 01:17:00,947 INFO isHealthCheck:true
2025-09-22 01:17:00,948 INFO maxHealthCheckFailCount:12
2025-09-22 01:17:00,948 INFO maxContent:10485760
2025-09-22 01:17:08,800 INFO All dump page size is set to 100 according to mem limit 1024 MB
2025-09-22 01:17:08,804 WARN DumpService start
2025-09-22 01:17:08,804 INFO start clear all config-info.
2025-09-22 01:17:08,805 INFO clear all config-info success.
2025-09-22 01:17:08,805 INFO clear all config-info-tenant success.
2025-09-22 01:17:08,811 INFO start dump all config-info...
2025-09-22 01:17:08,812 INFO success to dump all config-info。
2025-09-22 01:17:08,812 INFO start to clear all gray-config-info on startup.
2025-09-22 01:17:08,812 INFO clear all config-info-gray success.
2025-09-22 01:17:08,812 INFO clear all config-info-gray-tenant success.
2025-09-22 01:17:14,138 INFO notifyConnectTimeout:100
2025-09-22 01:17:14,139 INFO notifySocketTimeout:200
2025-09-22 01:17:14,139 INFO isHealthCheck:true
2025-09-22 01:17:14,139 INFO maxHealthCheckFailCount:12
2025-09-22 01:17:14,139 INFO maxContent:10485760
2025-09-22 01:17:18,984 INFO notifyConnectTimeout:100
2025-09-22 01:17:18,984 INFO notifySocketTimeout:200
2025-09-22 01:17:18,984 INFO isHealthCheck:true
2025-09-22 01:17:18,984 INFO maxHealthCheckFailCount:12
2025-09-22 01:17:18,984 INFO maxContent:10485760
2025-09-22 01:50:01,647 INFO notifyConnectTimeout:100
2025-09-22 01:50:01,651 INFO notifySocketTimeout:200
2025-09-22 01:50:01,652 INFO isHealthCheck:true
2025-09-22 01:50:01,652 INFO maxHealthCheckFailCount:12
2025-09-22 01:50:01,653 INFO maxContent:10485760
2025-09-22 01:50:08,648 INFO All dump page size is set to 100 according to mem limit 1024 MB
2025-09-22 01:50:08,651 WARN DumpService start
2025-09-22 01:50:08,652 INFO start clear all config-info.
2025-09-22 01:50:08,654 INFO clear all config-info success.
2025-09-22 01:50:08,655 INFO clear all config-info-tenant success.
2025-09-22 01:50:08,663 INFO start dump all config-info...
2025-09-22 01:50:08,664 INFO success to dump all config-info。
2025-09-22 01:50:08,664 INFO start to clear all gray-config-info on startup.
2025-09-22 01:50:08,664 INFO clear all config-info-gray success.
2025-09-22 01:50:08,664 INFO clear all config-info-gray-tenant success.
2025-09-22 01:50:13,990 INFO notifyConnectTimeout:100
2025-09-22 01:50:13,990 INFO notifySocketTimeout:200
2025-09-22 01:50:13,991 INFO isHealthCheck:true
2025-09-22 01:50:13,991 INFO maxHealthCheckFailCount:12
2025-09-22 01:50:13,991 INFO maxContent:10485760
2025-09-22 01:50:17,557 INFO notifyConnectTimeout:100
2025-09-22 01:50:17,558 INFO notifySocketTimeout:200
2025-09-22 01:50:17,558 INFO isHealthCheck:true
2025-09-22 01:50:17,558 INFO maxHealthCheckFailCount:12
2025-09-22 01:50:17,558 INFO maxContent:10485760

View File

@@ -1,56 +0,0 @@
2025-09-22 01:17:30,856 DEBUG auth start, request: GET /v3/console/core/namespace/list
2025-09-22 01:17:30,872 DEBUG access denied, request: GET /v3/console/core/namespace/list, reason: Code: 401, Message: User not found! Please check user exist or password is right!.
2025-09-22 01:17:30,992 DEBUG auth start, request: GET /v3/console/cs/config/list
2025-09-22 01:17:31,026 DEBUG access denied, request: GET /v3/console/cs/config/list, reason: Code: 401, Message: User not found! Please check user exist or password is right!.
2025-09-22 01:17:37,764 DEBUG auth start, request: GET /v3/console/core/namespace/list
2025-09-22 01:17:37,838 DEBUG API is identity only, skip validate authority, request: GET /v3/console/core/namespace/list
2025-09-22 01:17:37,926 DEBUG auth start, request: GET /v3/console/cs/config/list
2025-09-22 01:17:37,929 DEBUG auth permission: Permission{resource='Resource{namespaceId='public', group='', name='', type='config', properties={action=r}}', action='r'}, nacosUser: NacosUser{token='eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTc1ODQ5MzA1N30.dM1-z-mkqWo_AZ1rZtgHnBhRw_RsJ5w3l9WNzzYJ2WwPfHn0EFhTOGP1Z69uyzaL', globalAdmin=false}
2025-09-22 01:43:49,416 DEBUG auth start, request: GET /v3/console/core/namespace/list
2025-09-22 01:43:49,417 DEBUG API is identity only, skip validate authority, request: GET /v3/console/core/namespace/list
2025-09-22 01:43:49,515 DEBUG auth start, request: GET /v3/console/cs/config/list
2025-09-22 01:43:49,516 DEBUG auth permission: Permission{resource='Resource{namespaceId='public', group='', name='', type='config', properties={action=r}}', action='r'}, nacosUser: NacosUser{token='eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTc1ODQ5MzA1N30.dM1-z-mkqWo_AZ1rZtgHnBhRw_RsJ5w3l9WNzzYJ2WwPfHn0EFhTOGP1Z69uyzaL', globalAdmin=false}
2025-09-22 01:44:52,181 DEBUG auth start, request: GET /v3/console/ns/service/list
2025-09-22 01:44:52,183 DEBUG auth permission: Permission{resource='Resource{namespaceId='public', group='', name='', type='naming', properties={action=r}}', action='r'}, nacosUser: NacosUser{token='eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTc1ODQ5MzA1N30.dM1-z-mkqWo_AZ1rZtgHnBhRw_RsJ5w3l9WNzzYJ2WwPfHn0EFhTOGP1Z69uyzaL', globalAdmin=false}
2025-09-22 02:10:39,620 DEBUG auth start, request: GET /v3/console/core/namespace/list
2025-09-22 02:10:39,629 DEBUG access denied, request: GET /v3/console/core/namespace/list, reason: Code: 401, Message: User not found! Please check user exist or password is right!.
2025-09-22 02:10:39,796 DEBUG auth start, request: GET /v3/console/ns/service/list
2025-09-22 02:10:39,798 DEBUG access denied, request: GET /v3/console/ns/service/list, reason: Code: 401, Message: User not found! Please check user exist or password is right!.
2025-09-22 02:10:44,908 DEBUG auth start, request: GET /v3/console/core/namespace/list
2025-09-22 02:10:44,908 DEBUG access denied, request: GET /v3/console/core/namespace/list, reason: Code: 401, Message: User not found! Please check user exist or password is right!.
2025-09-22 02:10:45,013 DEBUG auth start, request: GET /v3/console/cs/config/list
2025-09-22 02:10:45,034 DEBUG access denied, request: GET /v3/console/cs/config/list, reason: Code: 401, Message: User not found! Please check user exist or password is right!.
2025-09-22 02:10:49,567 DEBUG auth start, request: GET /v3/console/core/namespace/list
2025-09-22 02:10:49,591 DEBUG API is identity only, skip validate authority, request: GET /v3/console/core/namespace/list
2025-09-22 02:10:49,643 DEBUG auth start, request: GET /v3/console/cs/config/list
2025-09-22 02:10:49,644 DEBUG auth permission: Permission{resource='Resource{namespaceId='public', group='', name='', type='config', properties={action=r}}', action='r'}, nacosUser: NacosUser{token='eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTc1ODQ5NjI0OX0.yL_8_CLjywePISs3Pt1EPC2nvurIRVgoktk5btmsGEupkx3YThFIl-r2uVBs37AM', globalAdmin=false}
2025-09-22 02:10:52,639 DEBUG auth start, request: GET /v3/console/ns/service/list
2025-09-22 02:10:52,641 DEBUG auth permission: Permission{resource='Resource{namespaceId='public', group='', name='', type='naming', properties={action=r}}', action='r'}, nacosUser: NacosUser{token='eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTc1ODQ5NjI0OX0.yL_8_CLjywePISs3Pt1EPC2nvurIRVgoktk5btmsGEupkx3YThFIl-r2uVBs37AM', globalAdmin=false}

View File

@@ -1,16 +0,0 @@
2025-09-22 01:17:08,399 INFO Current addressing mode selection : StandaloneMemberLookup
2025-09-22 01:17:08,422 INFO [ClusterRpcClientProxy] success to refresh cluster rpc client on start up,members =[]
2025-09-22 01:17:14,059 INFO All Nacos server upgrade to upper 3.x, enabled inner api auth identity check
2025-09-22 01:17:18,886 INFO This node is ready to provide external services
2025-09-22 01:50:08,164 INFO Current addressing mode selection : StandaloneMemberLookup
2025-09-22 01:50:08,195 INFO [ClusterRpcClientProxy] success to refresh cluster rpc client on start up,members =[]
2025-09-22 01:50:13,921 INFO All Nacos server upgrade to upper 3.x, enabled inner api auth identity check
2025-09-22 01:50:17,493 INFO This node is ready to provide external services

View File

@@ -1,48 +0,0 @@
2025-09-22 01:17:05,754 INFO use local db service for init
2025-09-22 01:17:07,215 WARN Lexical error at line 4, column 66. Encountered: <EOF> after : "".
2025-09-22 01:17:07,220 WARN Syntax error: Encountered "*" at line 1, column 1.
2025-09-22 01:17:07,832 WARN Column 'SRC_IP' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:17:07,834 WARN Column 'SRC_IP' already exists in Table/View '"NACOS"."CONFIG_INFO"'.
2025-09-22 01:17:07,836 WARN Column 'PUBLISH_TYPE' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:17:07,839 WARN Column 'EXT_INFO' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:17:07,841 WARN Column 'GRAY_NAME' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:17:07,841 INFO use StandaloneDatabaseOperateImpl
2025-09-22 01:17:08,629 ERROR [db-error] DataAccessException : caused: StatementCallback; bad SQL grammar [SELECT COUNT(*) FROM config_info_beta ];caused: Table/View 'CONFIG_INFO_BETA' does not exist.;caused: Table/View 'CONFIG_INFO_BETA' does not exist.;
2025-09-22 01:17:16,840 ERROR [db-error] DataAccessException : caused: StatementCallback; bad SQL grammar [SELECT COUNT(*) FROM config_info_beta ];caused: Table/View 'CONFIG_INFO_BETA' does not exist.;caused: Table/View 'CONFIG_INFO_BETA' does not exist.;
2025-09-22 01:17:20,011 ERROR [db-error] DataAccessException : caused: StatementCallback; bad SQL grammar [SELECT COUNT(*) FROM config_info_beta ];caused: Table/View 'CONFIG_INFO_BETA' does not exist.;caused: Table/View 'CONFIG_INFO_BETA' does not exist.;
2025-09-22 01:50:05,857 INFO use local db service for init
2025-09-22 01:50:07,118 WARN Lexical error at line 4, column 66. Encountered: <EOF> after : "".
2025-09-22 01:50:07,122 WARN Syntax error: Encountered "*" at line 1, column 1.
2025-09-22 01:50:07,606 WARN Column 'SRC_IP' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:50:07,608 WARN Column 'SRC_IP' already exists in Table/View '"NACOS"."CONFIG_INFO"'.
2025-09-22 01:50:07,611 WARN Column 'PUBLISH_TYPE' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:50:07,613 WARN Column 'EXT_INFO' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:50:07,615 WARN Column 'GRAY_NAME' already exists in Table/View '"NACOS"."HIS_CONFIG_INFO"'.
2025-09-22 01:50:07,615 INFO use StandaloneDatabaseOperateImpl
2025-09-22 01:50:08,457 ERROR [db-error] DataAccessException : caused: StatementCallback; bad SQL grammar [SELECT COUNT(*) FROM config_info_beta ];caused: Table/View 'CONFIG_INFO_BETA' does not exist.;caused: Table/View 'CONFIG_INFO_BETA' does not exist.;
2025-09-22 01:50:16,597 ERROR [db-error] DataAccessException : caused: StatementCallback; bad SQL grammar [SELECT COUNT(*) FROM config_info_beta ];caused: Table/View 'CONFIG_INFO_BETA' does not exist.;caused: Table/View 'CONFIG_INFO_BETA' does not exist.;
2025-09-22 01:50:18,447 ERROR [db-error] DataAccessException : caused: StatementCallback; bad SQL grammar [SELECT COUNT(*) FROM config_info_beta ];caused: Table/View 'CONFIG_INFO_BETA' does not exist.;caused: Table/View 'CONFIG_INFO_BETA' does not exist.;

File diff suppressed because it is too large Load Diff

View File

@@ -1,208 +0,0 @@
[2025-09-21T17:49:58.226+0000][gc] Using G1
[2025-09-21T17:49:58.232+0000][gc,init] Version: 17.0.16+8-alpine-r0 (release)
[2025-09-21T17:49:58.232+0000][gc,init] CPUs: 12 total, 12 available
[2025-09-21T17:49:58.232+0000][gc,init] Memory: 7997M
[2025-09-21T17:49:58.232+0000][gc,init] Large Page Support: Disabled
[2025-09-21T17:49:58.232+0000][gc,init] NUMA Support: Disabled
[2025-09-21T17:49:58.232+0000][gc,init] Compressed Oops: Enabled (32-bit)
[2025-09-21T17:49:58.232+0000][gc,init] Heap Region Size: 1M
[2025-09-21T17:49:58.232+0000][gc,init] Heap Min Capacity: 1G
[2025-09-21T17:49:58.232+0000][gc,init] Heap Initial Capacity: 1G
[2025-09-21T17:49:58.232+0000][gc,init] Heap Max Capacity: 1G
[2025-09-21T17:49:58.232+0000][gc,init] Pre-touch: Disabled
[2025-09-21T17:49:58.233+0000][gc,init] Parallel Workers: 10
[2025-09-21T17:49:58.233+0000][gc,init] Concurrent Workers: 3
[2025-09-21T17:49:58.233+0000][gc,init] Concurrent Refinement Workers: 10
[2025-09-21T17:49:58.233+0000][gc,init] Periodic GC: Disabled
[2025-09-21T17:49:58.239+0000][gc,metaspace] CDS archive(s) mapped at: [0x00007f22cd000000-0x00007f22cdbc7000-0x00007f22cdbc7000), size 12349440, SharedBaseAddress: 0x00007f22cd000000, ArchiveRelocationMode: 1.
[2025-09-21T17:49:58.239+0000][gc,metaspace] Compressed class space mapped at: 0x00007f22ce000000-0x00007f230e000000, reserved size: 1073741824
[2025-09-21T17:49:58.239+0000][gc,metaspace] Narrow klass base: 0x00007f22cd000000, Narrow klass shift: 0, Narrow klass range: 0x100000000
[2025-09-21T17:50:03.287+0000][gc,start ] GC(0) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:50:03.290+0000][gc,task ] GC(0) Using 10 workers of 10 for evacuation
[2025-09-21T17:50:03.344+0000][gc,phases ] GC(0) Pre Evacuate Collection Set: 0.2ms
[2025-09-21T17:50:03.344+0000][gc,phases ] GC(0) Merge Heap Roots: 0.2ms
[2025-09-21T17:50:03.344+0000][gc,phases ] GC(0) Evacuate Collection Set: 50.2ms
[2025-09-21T17:50:03.344+0000][gc,phases ] GC(0) Post Evacuate Collection Set: 3.4ms
[2025-09-21T17:50:03.344+0000][gc,phases ] GC(0) Other: 2.5ms
[2025-09-21T17:50:03.344+0000][gc,heap ] GC(0) Eden regions: 512->0(475)
[2025-09-21T17:50:03.344+0000][gc,heap ] GC(0) Survivor regions: 0->37(64)
[2025-09-21T17:50:03.344+0000][gc,heap ] GC(0) Old regions: 0->0
[2025-09-21T17:50:03.344+0000][gc,heap ] GC(0) Archive regions: 2->2
[2025-09-21T17:50:03.344+0000][gc,heap ] GC(0) Humongous regions: 0->0
[2025-09-21T17:50:03.344+0000][gc,metaspace] GC(0) Metaspace: 21118K(21504K)->21118K(21504K) NonClass: 18497K(18688K)->18497K(18688K) Class: 2620K(2816K)->2620K(2816K)
[2025-09-21T17:50:03.345+0000][gc ] GC(0) Pause Young (Normal) (G1 Evacuation Pause) 512M->37M(1024M) 57.138ms
[2025-09-21T17:50:03.345+0000][gc,cpu ] GC(0) User=0.24s Sys=0.26s Real=0.06s
[2025-09-21T17:50:03.433+0000][gc,start ] GC(1) Pause Young (Concurrent Start) (Metadata GC Threshold)
[2025-09-21T17:50:03.433+0000][gc,task ] GC(1) Using 10 workers of 10 for evacuation
[2025-09-21T17:50:03.460+0000][gc,phases ] GC(1) Pre Evacuate Collection Set: 0.2ms
[2025-09-21T17:50:03.460+0000][gc,phases ] GC(1) Merge Heap Roots: 0.1ms
[2025-09-21T17:50:03.460+0000][gc,phases ] GC(1) Evacuate Collection Set: 25.1ms
[2025-09-21T17:50:03.460+0000][gc,phases ] GC(1) Post Evacuate Collection Set: 1.0ms
[2025-09-21T17:50:03.460+0000][gc,phases ] GC(1) Other: 0.4ms
[2025-09-21T17:50:03.460+0000][gc,heap ] GC(1) Eden regions: 20->0(507)
[2025-09-21T17:50:03.460+0000][gc,heap ] GC(1) Survivor regions: 37->5(64)
[2025-09-21T17:50:03.461+0000][gc,heap ] GC(1) Old regions: 0->37
[2025-09-21T17:50:03.461+0000][gc,heap ] GC(1) Archive regions: 2->2
[2025-09-21T17:50:03.461+0000][gc,heap ] GC(1) Humongous regions: 0->0
[2025-09-21T17:50:03.461+0000][gc,metaspace] GC(1) Metaspace: 21171K(21504K)->21171K(21504K) NonClass: 18543K(18688K)->18543K(18688K) Class: 2628K(2816K)->2628K(2816K)
[2025-09-21T17:50:03.461+0000][gc ] GC(1) Pause Young (Concurrent Start) (Metadata GC Threshold) 57M->42M(1024M) 27.344ms
[2025-09-21T17:50:03.461+0000][gc,cpu ] GC(1) User=0.14s Sys=0.08s Real=0.02s
[2025-09-21T17:50:03.461+0000][gc ] GC(2) Concurrent Mark Cycle
[2025-09-21T17:50:03.461+0000][gc,marking ] GC(2) Concurrent Clear Claimed Marks
[2025-09-21T17:50:03.461+0000][gc,marking ] GC(2) Concurrent Clear Claimed Marks 0.057ms
[2025-09-21T17:50:03.461+0000][gc,marking ] GC(2) Concurrent Scan Root Regions
[2025-09-21T17:50:03.469+0000][gc,marking ] GC(2) Concurrent Scan Root Regions 8.069ms
[2025-09-21T17:50:03.469+0000][gc,marking ] GC(2) Concurrent Mark
[2025-09-21T17:50:03.469+0000][gc,marking ] GC(2) Concurrent Mark From Roots
[2025-09-21T17:50:03.469+0000][gc,task ] GC(2) Using 3 workers of 3 for marking
[2025-09-21T17:50:03.471+0000][gc,marking ] GC(2) Concurrent Mark From Roots 1.870ms
[2025-09-21T17:50:03.471+0000][gc,marking ] GC(2) Concurrent Preclean
[2025-09-21T17:50:03.471+0000][gc,marking ] GC(2) Concurrent Preclean 0.067ms
[2025-09-21T17:50:03.472+0000][gc,start ] GC(2) Pause Remark
[2025-09-21T17:50:03.474+0000][gc ] GC(2) Pause Remark 43M->43M(1024M) 2.835ms
[2025-09-21T17:50:03.475+0000][gc,cpu ] GC(2) User=0.01s Sys=0.00s Real=0.00s
[2025-09-21T17:50:03.475+0000][gc,marking ] GC(2) Concurrent Mark 5.341ms
[2025-09-21T17:50:03.475+0000][gc,marking ] GC(2) Concurrent Rebuild Remembered Sets
[2025-09-21T17:50:03.486+0000][gc,marking ] GC(2) Concurrent Rebuild Remembered Sets 11.703ms
[2025-09-21T17:50:03.487+0000][gc,start ] GC(2) Pause Cleanup
[2025-09-21T17:50:03.487+0000][gc ] GC(2) Pause Cleanup 44M->44M(1024M) 0.324ms
[2025-09-21T17:50:03.487+0000][gc,cpu ] GC(2) User=0.00s Sys=0.00s Real=0.00s
[2025-09-21T17:50:03.488+0000][gc,marking ] GC(2) Concurrent Cleanup for Next Mark
[2025-09-21T17:50:03.490+0000][gc,marking ] GC(2) Concurrent Cleanup for Next Mark 2.283ms
[2025-09-21T17:50:03.490+0000][gc ] GC(2) Concurrent Mark Cycle 29.010ms
[2025-09-21T17:50:06.098+0000][gc,start ] GC(3) Pause Young (Concurrent Start) (Metadata GC Threshold)
[2025-09-21T17:50:06.098+0000][gc,task ] GC(3) Using 10 workers of 10 for evacuation
[2025-09-21T17:50:06.111+0000][gc,phases ] GC(3) Pre Evacuate Collection Set: 0.4ms
[2025-09-21T17:50:06.111+0000][gc,phases ] GC(3) Merge Heap Roots: 0.2ms
[2025-09-21T17:50:06.111+0000][gc,phases ] GC(3) Evacuate Collection Set: 10.3ms
[2025-09-21T17:50:06.111+0000][gc,phases ] GC(3) Post Evacuate Collection Set: 1.5ms
[2025-09-21T17:50:06.111+0000][gc,phases ] GC(3) Other: 0.3ms
[2025-09-21T17:50:06.111+0000][gc,heap ] GC(3) Eden regions: 281->0(502)
[2025-09-21T17:50:06.111+0000][gc,heap ] GC(3) Survivor regions: 5->10(64)
[2025-09-21T17:50:06.111+0000][gc,heap ] GC(3) Old regions: 37->37
[2025-09-21T17:50:06.111+0000][gc,heap ] GC(3) Archive regions: 2->2
[2025-09-21T17:50:06.111+0000][gc,heap ] GC(3) Humongous regions: 0->0
[2025-09-21T17:50:06.111+0000][gc,metaspace] GC(3) Metaspace: 35603K(35968K)->35603K(35968K) NonClass: 31100K(31296K)->31100K(31296K) Class: 4502K(4672K)->4502K(4672K)
[2025-09-21T17:50:06.111+0000][gc ] GC(3) Pause Young (Concurrent Start) (Metadata GC Threshold) 323M->46M(1024M) 13.214ms
[2025-09-21T17:50:06.111+0000][gc,cpu ] GC(3) User=0.07s Sys=0.00s Real=0.02s
[2025-09-21T17:50:06.111+0000][gc ] GC(4) Concurrent Mark Cycle
[2025-09-21T17:50:06.112+0000][gc,marking ] GC(4) Concurrent Clear Claimed Marks
[2025-09-21T17:50:06.112+0000][gc,marking ] GC(4) Concurrent Clear Claimed Marks 0.064ms
[2025-09-21T17:50:06.112+0000][gc,marking ] GC(4) Concurrent Scan Root Regions
[2025-09-21T17:50:06.116+0000][gc,marking ] GC(4) Concurrent Scan Root Regions 4.274ms
[2025-09-21T17:50:06.116+0000][gc,marking ] GC(4) Concurrent Mark
[2025-09-21T17:50:06.116+0000][gc,marking ] GC(4) Concurrent Mark From Roots
[2025-09-21T17:50:06.116+0000][gc,task ] GC(4) Using 3 workers of 3 for marking
[2025-09-21T17:50:06.143+0000][gc,marking ] GC(4) Concurrent Mark From Roots 26.717ms
[2025-09-21T17:50:06.143+0000][gc,marking ] GC(4) Concurrent Preclean
[2025-09-21T17:50:06.143+0000][gc,marking ] GC(4) Concurrent Preclean 0.190ms
[2025-09-21T17:50:06.143+0000][gc,start ] GC(4) Pause Remark
[2025-09-21T17:50:06.147+0000][gc ] GC(4) Pause Remark 47M->47M(1024M) 3.425ms
[2025-09-21T17:50:06.147+0000][gc,cpu ] GC(4) User=0.00s Sys=0.00s Real=0.00s
[2025-09-21T17:50:06.147+0000][gc,marking ] GC(4) Concurrent Mark 30.919ms
[2025-09-21T17:50:06.147+0000][gc,marking ] GC(4) Concurrent Rebuild Remembered Sets
[2025-09-21T17:50:06.158+0000][gc,marking ] GC(4) Concurrent Rebuild Remembered Sets 10.922ms
[2025-09-21T17:50:06.158+0000][gc,start ] GC(4) Pause Cleanup
[2025-09-21T17:50:06.159+0000][gc ] GC(4) Pause Cleanup 48M->48M(1024M) 0.211ms
[2025-09-21T17:50:06.159+0000][gc,cpu ] GC(4) User=0.00s Sys=0.00s Real=0.00s
[2025-09-21T17:50:06.159+0000][gc,marking ] GC(4) Concurrent Cleanup for Next Mark
[2025-09-21T17:50:06.160+0000][gc,marking ] GC(4) Concurrent Cleanup for Next Mark 1.506ms
[2025-09-21T17:50:06.160+0000][gc ] GC(4) Concurrent Mark Cycle 48.925ms
[2025-09-21T17:50:10.201+0000][gc,start ] GC(5) Pause Young (Concurrent Start) (Metadata GC Threshold)
[2025-09-21T17:50:10.202+0000][gc,task ] GC(5) Using 10 workers of 10 for evacuation
[2025-09-21T17:50:10.218+0000][gc,phases ] GC(5) Pre Evacuate Collection Set: 0.2ms
[2025-09-21T17:50:10.219+0000][gc,phases ] GC(5) Merge Heap Roots: 0.2ms
[2025-09-21T17:50:10.219+0000][gc,phases ] GC(5) Evacuate Collection Set: 12.2ms
[2025-09-21T17:50:10.219+0000][gc,phases ] GC(5) Post Evacuate Collection Set: 3.7ms
[2025-09-21T17:50:10.219+0000][gc,phases ] GC(5) Other: 1.1ms
[2025-09-21T17:50:10.219+0000][gc,heap ] GC(5) Eden regions: 302->0(489)
[2025-09-21T17:50:10.219+0000][gc,heap ] GC(5) Survivor regions: 10->23(64)
[2025-09-21T17:50:10.219+0000][gc,heap ] GC(5) Old regions: 37->37
[2025-09-21T17:50:10.219+0000][gc,heap ] GC(5) Archive regions: 2->2
[2025-09-21T17:50:10.219+0000][gc,heap ] GC(5) Humongous regions: 0->0
[2025-09-21T17:50:10.219+0000][gc,metaspace] GC(5) Metaspace: 59916K(60480K)->59916K(60480K) NonClass: 52541K(52864K)->52541K(52864K) Class: 7375K(7616K)->7375K(7616K)
[2025-09-21T17:50:10.219+0000][gc ] GC(5) Pause Young (Concurrent Start) (Metadata GC Threshold) 348M->60M(1024M) 17.981ms
[2025-09-21T17:50:10.219+0000][gc,cpu ] GC(5) User=0.07s Sys=0.01s Real=0.01s
[2025-09-21T17:50:10.219+0000][gc ] GC(6) Concurrent Mark Cycle
[2025-09-21T17:50:10.219+0000][gc,marking ] GC(6) Concurrent Clear Claimed Marks
[2025-09-21T17:50:10.219+0000][gc,marking ] GC(6) Concurrent Clear Claimed Marks 0.056ms
[2025-09-21T17:50:10.219+0000][gc,marking ] GC(6) Concurrent Scan Root Regions
[2025-09-21T17:50:10.225+0000][gc,marking ] GC(6) Concurrent Scan Root Regions 6.134ms
[2025-09-21T17:50:10.225+0000][gc,marking ] GC(6) Concurrent Mark
[2025-09-21T17:50:10.226+0000][gc,marking ] GC(6) Concurrent Mark From Roots
[2025-09-21T17:50:10.226+0000][gc,task ] GC(6) Using 3 workers of 3 for marking
[2025-09-21T17:50:10.249+0000][gc,marking ] GC(6) Concurrent Mark From Roots 23.070ms
[2025-09-21T17:50:10.249+0000][gc,marking ] GC(6) Concurrent Preclean
[2025-09-21T17:50:10.249+0000][gc,marking ] GC(6) Concurrent Preclean 0.171ms
[2025-09-21T17:50:10.249+0000][gc,start ] GC(6) Pause Remark
[2025-09-21T17:50:10.254+0000][gc ] GC(6) Pause Remark 63M->63M(1024M) 4.402ms
[2025-09-21T17:50:10.254+0000][gc,cpu ] GC(6) User=0.02s Sys=0.00s Real=0.01s
[2025-09-21T17:50:10.254+0000][gc,marking ] GC(6) Concurrent Mark 28.589ms
[2025-09-21T17:50:10.254+0000][gc,marking ] GC(6) Concurrent Rebuild Remembered Sets
[2025-09-21T17:50:10.265+0000][gc,marking ] GC(6) Concurrent Rebuild Remembered Sets 11.276ms
[2025-09-21T17:50:10.266+0000][gc,start ] GC(6) Pause Cleanup
[2025-09-21T17:50:10.266+0000][gc ] GC(6) Pause Cleanup 63M->63M(1024M) 0.429ms
[2025-09-21T17:50:10.266+0000][gc,cpu ] GC(6) User=0.00s Sys=0.00s Real=0.00s
[2025-09-21T17:50:10.266+0000][gc,marking ] GC(6) Concurrent Cleanup for Next Mark
[2025-09-21T17:50:10.268+0000][gc,marking ] GC(6) Concurrent Cleanup for Next Mark 1.193ms
[2025-09-21T17:50:10.268+0000][gc ] GC(6) Concurrent Mark Cycle 48.631ms
[2025-09-21T17:50:14.105+0000][gc,start ] GC(7) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:50:14.105+0000][gc,task ] GC(7) Using 10 workers of 10 for evacuation
[2025-09-21T17:50:14.127+0000][gc,phases ] GC(7) Pre Evacuate Collection Set: 0.3ms
[2025-09-21T17:50:14.127+0000][gc,phases ] GC(7) Merge Heap Roots: 0.2ms
[2025-09-21T17:50:14.127+0000][gc,phases ] GC(7) Evacuate Collection Set: 17.4ms
[2025-09-21T17:50:14.127+0000][gc,phases ] GC(7) Post Evacuate Collection Set: 3.4ms
[2025-09-21T17:50:14.127+0000][gc,phases ] GC(7) Other: 0.3ms
[2025-09-21T17:50:14.127+0000][gc,heap ] GC(7) Eden regions: 489->0(462)
[2025-09-21T17:50:14.127+0000][gc,heap ] GC(7) Survivor regions: 23->50(64)
[2025-09-21T17:50:14.127+0000][gc,heap ] GC(7) Old regions: 37->37
[2025-09-21T17:50:14.127+0000][gc,heap ] GC(7) Archive regions: 2->2
[2025-09-21T17:50:14.127+0000][gc,heap ] GC(7) Humongous regions: 0->0
[2025-09-21T17:50:14.127+0000][gc,metaspace] GC(7) Metaspace: 73829K(74432K)->73829K(74432K) NonClass: 64512K(64832K)->64512K(64832K) Class: 9317K(9600K)->9317K(9600K)
[2025-09-21T17:50:14.127+0000][gc ] GC(7) Pause Young (Normal) (G1 Evacuation Pause) 549M->86M(1024M) 22.048ms
[2025-09-21T17:50:14.127+0000][gc,cpu ] GC(7) User=0.12s Sys=0.01s Real=0.02s
[2025-09-21T17:50:16.995+0000][gc,start ] GC(8) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:50:16.996+0000][gc,task ] GC(8) Using 10 workers of 10 for evacuation
[2025-09-21T17:50:17.035+0000][gc,phases ] GC(8) Pre Evacuate Collection Set: 0.2ms
[2025-09-21T17:50:17.035+0000][gc,phases ] GC(8) Merge Heap Roots: 0.2ms
[2025-09-21T17:50:17.035+0000][gc,phases ] GC(8) Evacuate Collection Set: 35.2ms
[2025-09-21T17:50:17.035+0000][gc,phases ] GC(8) Post Evacuate Collection Set: 3.4ms
[2025-09-21T17:50:17.035+0000][gc,phases ] GC(8) Other: 0.7ms
[2025-09-21T17:50:17.035+0000][gc,heap ] GC(8) Eden regions: 462->0(452)
[2025-09-21T17:50:17.035+0000][gc,heap ] GC(8) Survivor regions: 50->60(64)
[2025-09-21T17:50:17.035+0000][gc,heap ] GC(8) Old regions: 37->57
[2025-09-21T17:50:17.035+0000][gc,heap ] GC(8) Archive regions: 2->2
[2025-09-21T17:50:17.035+0000][gc,heap ] GC(8) Humongous regions: 0->0
[2025-09-21T17:50:17.035+0000][gc,metaspace] GC(8) Metaspace: 80872K(81536K)->80872K(81536K) NonClass: 70686K(70976K)->70686K(70976K) Class: 10186K(10560K)->10186K(10560K)
[2025-09-21T17:50:17.035+0000][gc ] GC(8) Pause Young (Normal) (G1 Evacuation Pause) 548M->116M(1024M) 39.945ms
[2025-09-21T17:50:17.035+0000][gc,cpu ] GC(8) User=0.17s Sys=0.05s Real=0.04s
[2025-09-21T17:54:53.887+0000][gc,start ] GC(9) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:54:53.888+0000][gc,task ] GC(9) Using 10 workers of 10 for evacuation
[2025-09-21T17:54:53.912+0000][gc,phases ] GC(9) Pre Evacuate Collection Set: 0.3ms
[2025-09-21T17:54:53.912+0000][gc,phases ] GC(9) Merge Heap Roots: 0.2ms
[2025-09-21T17:54:53.912+0000][gc,phases ] GC(9) Evacuate Collection Set: 20.0ms
[2025-09-21T17:54:53.912+0000][gc,phases ] GC(9) Post Evacuate Collection Set: 3.2ms
[2025-09-21T17:54:53.912+0000][gc,phases ] GC(9) Other: 1.2ms
[2025-09-21T17:54:53.912+0000][gc,heap ] GC(9) Eden regions: 452->0(490)
[2025-09-21T17:54:53.912+0000][gc,heap ] GC(9) Survivor regions: 60->22(64)
[2025-09-21T17:54:53.913+0000][gc,heap ] GC(9) Old regions: 57->79
[2025-09-21T17:54:53.913+0000][gc,heap ] GC(9) Archive regions: 2->2
[2025-09-21T17:54:53.913+0000][gc,heap ] GC(9) Humongous regions: 4->4
[2025-09-21T17:54:53.913+0000][gc,metaspace] GC(9) Metaspace: 89924K(90816K)->89924K(90816K) NonClass: 78916K(79360K)->78916K(79360K) Class: 11007K(11456K)->11007K(11456K)
[2025-09-21T17:54:53.913+0000][gc ] GC(9) Pause Young (Normal) (G1 Evacuation Pause) 572M->105M(1024M) 25.258ms
[2025-09-21T17:54:53.913+0000][gc,cpu ] GC(9) User=0.10s Sys=0.06s Real=0.03s
[2025-09-21T18:17:31.204+0000][gc,start ] GC(10) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T18:17:31.205+0000][gc,task ] GC(10) Using 10 workers of 10 for evacuation
[2025-09-21T18:17:31.222+0000][gc,phases ] GC(10) Pre Evacuate Collection Set: 0.4ms
[2025-09-21T18:17:31.222+0000][gc,phases ] GC(10) Merge Heap Roots: 0.2ms
[2025-09-21T18:17:31.222+0000][gc,phases ] GC(10) Evacuate Collection Set: 12.1ms
[2025-09-21T18:17:31.222+0000][gc,phases ] GC(10) Post Evacuate Collection Set: 2.6ms
[2025-09-21T18:17:31.222+0000][gc,phases ] GC(10) Other: 3.0ms
[2025-09-21T18:17:31.222+0000][gc,heap ] GC(10) Eden regions: 490->0(488)
[2025-09-21T18:17:31.222+0000][gc,heap ] GC(10) Survivor regions: 22->24(64)
[2025-09-21T18:17:31.222+0000][gc,heap ] GC(10) Old regions: 79->79
[2025-09-21T18:17:31.222+0000][gc,heap ] GC(10) Archive regions: 2->2
[2025-09-21T18:17:31.222+0000][gc,heap ] GC(10) Humongous regions: 10->10
[2025-09-21T18:17:31.222+0000][gc,metaspace] GC(10) Metaspace: 93668K(94592K)->93668K(94592K) NonClass: 82413K(82880K)->82413K(82880K) Class: 11255K(11712K)->11255K(11712K)
[2025-09-21T18:17:31.222+0000][gc ] GC(10) Pause Young (Normal) (G1 Evacuation Pause) 601M->113M(1024M) 18.759ms
[2025-09-21T18:17:31.222+0000][gc,cpu ] GC(10) User=0.08s Sys=0.00s Real=0.02s

View File

@@ -1,198 +0,0 @@
[2025-09-21T17:16:57.560+0000][gc] Using G1
[2025-09-21T17:16:57.569+0000][gc,init] Version: 17.0.16+8-alpine-r0 (release)
[2025-09-21T17:16:57.569+0000][gc,init] CPUs: 12 total, 12 available
[2025-09-21T17:16:57.569+0000][gc,init] Memory: 7997M
[2025-09-21T17:16:57.569+0000][gc,init] Large Page Support: Disabled
[2025-09-21T17:16:57.569+0000][gc,init] NUMA Support: Disabled
[2025-09-21T17:16:57.569+0000][gc,init] Compressed Oops: Enabled (32-bit)
[2025-09-21T17:16:57.569+0000][gc,init] Heap Region Size: 1M
[2025-09-21T17:16:57.569+0000][gc,init] Heap Min Capacity: 1G
[2025-09-21T17:16:57.570+0000][gc,init] Heap Initial Capacity: 1G
[2025-09-21T17:16:57.570+0000][gc,init] Heap Max Capacity: 1G
[2025-09-21T17:16:57.570+0000][gc,init] Pre-touch: Disabled
[2025-09-21T17:16:57.570+0000][gc,init] Parallel Workers: 10
[2025-09-21T17:16:57.570+0000][gc,init] Concurrent Workers: 3
[2025-09-21T17:16:57.570+0000][gc,init] Concurrent Refinement Workers: 10
[2025-09-21T17:16:57.570+0000][gc,init] Periodic GC: Disabled
[2025-09-21T17:16:57.579+0000][gc,metaspace] CDS archive(s) mapped at: [0x00007f7c56000000-0x00007f7c56bc7000-0x00007f7c56bc7000), size 12349440, SharedBaseAddress: 0x00007f7c56000000, ArchiveRelocationMode: 1.
[2025-09-21T17:16:57.579+0000][gc,metaspace] Compressed class space mapped at: 0x00007f7c57000000-0x00007f7c97000000, reserved size: 1073741824
[2025-09-21T17:16:57.579+0000][gc,metaspace] Narrow klass base: 0x00007f7c56000000, Narrow klass shift: 0, Narrow klass range: 0x100000000
[2025-09-21T17:17:03.003+0000][gc,start ] GC(0) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:17:03.005+0000][gc,task ] GC(0) Using 10 workers of 10 for evacuation
[2025-09-21T17:17:03.062+0000][gc,phases ] GC(0) Pre Evacuate Collection Set: 0.2ms
[2025-09-21T17:17:03.063+0000][gc,phases ] GC(0) Merge Heap Roots: 0.2ms
[2025-09-21T17:17:03.063+0000][gc,phases ] GC(0) Evacuate Collection Set: 53.4ms
[2025-09-21T17:17:03.063+0000][gc,phases ] GC(0) Post Evacuate Collection Set: 3.2ms
[2025-09-21T17:17:03.063+0000][gc,phases ] GC(0) Other: 2.6ms
[2025-09-21T17:17:03.063+0000][gc,heap ] GC(0) Eden regions: 512->0(474)
[2025-09-21T17:17:03.063+0000][gc,heap ] GC(0) Survivor regions: 0->38(64)
[2025-09-21T17:17:03.063+0000][gc,heap ] GC(0) Old regions: 0->0
[2025-09-21T17:17:03.063+0000][gc,heap ] GC(0) Archive regions: 2->2
[2025-09-21T17:17:03.063+0000][gc,heap ] GC(0) Humongous regions: 0->0
[2025-09-21T17:17:03.063+0000][gc,metaspace] GC(0) Metaspace: 21087K(21504K)->21087K(21504K) NonClass: 18472K(18688K)->18472K(18688K) Class: 2615K(2816K)->2615K(2816K)
[2025-09-21T17:17:03.064+0000][gc ] GC(0) Pause Young (Normal) (G1 Evacuation Pause) 512M->38M(1024M) 60.780ms
[2025-09-21T17:17:03.064+0000][gc,cpu ] GC(0) User=0.25s Sys=0.27s Real=0.06s
[2025-09-21T17:17:03.106+0000][gc,start ] GC(1) Pause Young (Concurrent Start) (Metadata GC Threshold)
[2025-09-21T17:17:03.106+0000][gc,task ] GC(1) Using 10 workers of 10 for evacuation
[2025-09-21T17:17:03.142+0000][gc,phases ] GC(1) Pre Evacuate Collection Set: 0.3ms
[2025-09-21T17:17:03.143+0000][gc,phases ] GC(1) Merge Heap Roots: 0.1ms
[2025-09-21T17:17:03.143+0000][gc,phases ] GC(1) Evacuate Collection Set: 35.2ms
[2025-09-21T17:17:03.143+0000][gc,phases ] GC(1) Post Evacuate Collection Set: 0.8ms
[2025-09-21T17:17:03.143+0000][gc,phases ] GC(1) Other: 0.3ms
[2025-09-21T17:17:03.143+0000][gc,heap ] GC(1) Eden regions: 4->0(507)
[2025-09-21T17:17:03.143+0000][gc,heap ] GC(1) Survivor regions: 38->5(64)
[2025-09-21T17:17:03.143+0000][gc,heap ] GC(1) Old regions: 0->38
[2025-09-21T17:17:03.143+0000][gc,heap ] GC(1) Archive regions: 2->2
[2025-09-21T17:17:03.143+0000][gc,heap ] GC(1) Humongous regions: 0->0
[2025-09-21T17:17:03.143+0000][gc,metaspace] GC(1) Metaspace: 21137K(21504K)->21137K(21504K) NonClass: 18514K(18688K)->18514K(18688K) Class: 2622K(2816K)->2622K(2816K)
[2025-09-21T17:17:03.143+0000][gc ] GC(1) Pause Young (Concurrent Start) (Metadata GC Threshold) 42M->43M(1024M) 37.400ms
[2025-09-21T17:17:03.143+0000][gc,cpu ] GC(1) User=0.13s Sys=0.18s Real=0.04s
[2025-09-21T17:17:03.143+0000][gc ] GC(2) Concurrent Mark Cycle
[2025-09-21T17:17:03.143+0000][gc,marking ] GC(2) Concurrent Clear Claimed Marks
[2025-09-21T17:17:03.143+0000][gc,marking ] GC(2) Concurrent Clear Claimed Marks 0.042ms
[2025-09-21T17:17:03.143+0000][gc,marking ] GC(2) Concurrent Scan Root Regions
[2025-09-21T17:17:03.151+0000][gc,marking ] GC(2) Concurrent Scan Root Regions 7.827ms
[2025-09-21T17:17:03.151+0000][gc,marking ] GC(2) Concurrent Mark
[2025-09-21T17:17:03.152+0000][gc,marking ] GC(2) Concurrent Mark From Roots
[2025-09-21T17:17:03.152+0000][gc,task ] GC(2) Using 3 workers of 3 for marking
[2025-09-21T17:17:03.153+0000][gc,marking ] GC(2) Concurrent Mark From Roots 1.565ms
[2025-09-21T17:17:03.153+0000][gc,marking ] GC(2) Concurrent Preclean
[2025-09-21T17:17:03.153+0000][gc,marking ] GC(2) Concurrent Preclean 0.068ms
[2025-09-21T17:17:03.154+0000][gc,start ] GC(2) Pause Remark
[2025-09-21T17:17:03.156+0000][gc ] GC(2) Pause Remark 43M->43M(1024M) 2.746ms
[2025-09-21T17:17:03.156+0000][gc,cpu ] GC(2) User=0.00s Sys=0.01s Real=0.00s
[2025-09-21T17:17:03.157+0000][gc,marking ] GC(2) Concurrent Mark 5.492ms
[2025-09-21T17:17:03.157+0000][gc,marking ] GC(2) Concurrent Rebuild Remembered Sets
[2025-09-21T17:17:03.167+0000][gc,marking ] GC(2) Concurrent Rebuild Remembered Sets 9.850ms
[2025-09-21T17:17:03.167+0000][gc,start ] GC(2) Pause Cleanup
[2025-09-21T17:17:03.167+0000][gc ] GC(2) Pause Cleanup 44M->44M(1024M) 0.279ms
[2025-09-21T17:17:03.167+0000][gc,cpu ] GC(2) User=0.00s Sys=0.00s Real=0.00s
[2025-09-21T17:17:03.168+0000][gc,marking ] GC(2) Concurrent Cleanup for Next Mark
[2025-09-21T17:17:03.182+0000][gc,marking ] GC(2) Concurrent Cleanup for Next Mark 14.526ms
[2025-09-21T17:17:03.182+0000][gc ] GC(2) Concurrent Mark Cycle 38.800ms
[2025-09-21T17:17:05.970+0000][gc,start ] GC(3) Pause Young (Concurrent Start) (Metadata GC Threshold)
[2025-09-21T17:17:05.970+0000][gc,task ] GC(3) Using 10 workers of 10 for evacuation
[2025-09-21T17:17:05.978+0000][gc,phases ] GC(3) Pre Evacuate Collection Set: 0.2ms
[2025-09-21T17:17:05.978+0000][gc,phases ] GC(3) Merge Heap Roots: 0.1ms
[2025-09-21T17:17:05.978+0000][gc,phases ] GC(3) Evacuate Collection Set: 6.4ms
[2025-09-21T17:17:05.978+0000][gc,phases ] GC(3) Post Evacuate Collection Set: 1.0ms
[2025-09-21T17:17:05.978+0000][gc,phases ] GC(3) Other: 0.2ms
[2025-09-21T17:17:05.978+0000][gc,heap ] GC(3) Eden regions: 281->0(503)
[2025-09-21T17:17:05.978+0000][gc,heap ] GC(3) Survivor regions: 5->9(64)
[2025-09-21T17:17:05.978+0000][gc,heap ] GC(3) Old regions: 38->38
[2025-09-21T17:17:05.978+0000][gc,heap ] GC(3) Archive regions: 2->2
[2025-09-21T17:17:05.978+0000][gc,heap ] GC(3) Humongous regions: 0->0
[2025-09-21T17:17:05.978+0000][gc,metaspace] GC(3) Metaspace: 35585K(35968K)->35585K(35968K) NonClass: 31086K(31296K)->31086K(31296K) Class: 4498K(4672K)->4498K(4672K)
[2025-09-21T17:17:05.978+0000][gc ] GC(3) Pause Young (Concurrent Start) (Metadata GC Threshold) 323M->47M(1024M) 8.285ms
[2025-09-21T17:17:05.978+0000][gc,cpu ] GC(3) User=0.03s Sys=0.01s Real=0.01s
[2025-09-21T17:17:05.978+0000][gc ] GC(4) Concurrent Mark Cycle
[2025-09-21T17:17:05.978+0000][gc,marking ] GC(4) Concurrent Clear Claimed Marks
[2025-09-21T17:17:05.978+0000][gc,marking ] GC(4) Concurrent Clear Claimed Marks 0.048ms
[2025-09-21T17:17:05.978+0000][gc,marking ] GC(4) Concurrent Scan Root Regions
[2025-09-21T17:17:05.981+0000][gc,marking ] GC(4) Concurrent Scan Root Regions 2.430ms
[2025-09-21T17:17:05.981+0000][gc,marking ] GC(4) Concurrent Mark
[2025-09-21T17:17:05.981+0000][gc,marking ] GC(4) Concurrent Mark From Roots
[2025-09-21T17:17:05.981+0000][gc,task ] GC(4) Using 3 workers of 3 for marking
[2025-09-21T17:17:06.002+0000][gc,marking ] GC(4) Concurrent Mark From Roots 20.850ms
[2025-09-21T17:17:06.002+0000][gc,marking ] GC(4) Concurrent Preclean
[2025-09-21T17:17:06.002+0000][gc,marking ] GC(4) Concurrent Preclean 0.395ms
[2025-09-21T17:17:06.003+0000][gc,start ] GC(4) Pause Remark
[2025-09-21T17:17:06.008+0000][gc ] GC(4) Pause Remark 48M->48M(1024M) 5.136ms
[2025-09-21T17:17:06.008+0000][gc,cpu ] GC(4) User=0.02s Sys=0.00s Real=0.00s
[2025-09-21T17:17:06.008+0000][gc,marking ] GC(4) Concurrent Mark 27.030ms
[2025-09-21T17:17:06.008+0000][gc,marking ] GC(4) Concurrent Rebuild Remembered Sets
[2025-09-21T17:17:06.020+0000][gc,marking ] GC(4) Concurrent Rebuild Remembered Sets 11.898ms
[2025-09-21T17:17:06.020+0000][gc,start ] GC(4) Pause Cleanup
[2025-09-21T17:17:06.020+0000][gc ] GC(4) Pause Cleanup 48M->48M(1024M) 0.241ms
[2025-09-21T17:17:06.020+0000][gc,cpu ] GC(4) User=0.00s Sys=0.00s Real=0.00s
[2025-09-21T17:17:06.021+0000][gc,marking ] GC(4) Concurrent Cleanup for Next Mark
[2025-09-21T17:17:06.031+0000][gc,marking ] GC(4) Concurrent Cleanup for Next Mark 10.213ms
[2025-09-21T17:17:06.031+0000][gc ] GC(4) Concurrent Mark Cycle 52.638ms
[2025-09-21T17:17:10.276+0000][gc,start ] GC(5) Pause Young (Concurrent Start) (Metadata GC Threshold)
[2025-09-21T17:17:10.276+0000][gc,task ] GC(5) Using 10 workers of 10 for evacuation
[2025-09-21T17:17:10.294+0000][gc,phases ] GC(5) Pre Evacuate Collection Set: 0.3ms
[2025-09-21T17:17:10.294+0000][gc,phases ] GC(5) Merge Heap Roots: 0.2ms
[2025-09-21T17:17:10.294+0000][gc,phases ] GC(5) Evacuate Collection Set: 14.7ms
[2025-09-21T17:17:10.294+0000][gc,phases ] GC(5) Post Evacuate Collection Set: 2.4ms
[2025-09-21T17:17:10.294+0000][gc,phases ] GC(5) Other: 0.6ms
[2025-09-21T17:17:10.294+0000][gc,heap ] GC(5) Eden regions: 304->0(491)
[2025-09-21T17:17:10.294+0000][gc,heap ] GC(5) Survivor regions: 9->21(64)
[2025-09-21T17:17:10.295+0000][gc,heap ] GC(5) Old regions: 38->38
[2025-09-21T17:17:10.295+0000][gc,heap ] GC(5) Archive regions: 2->2
[2025-09-21T17:17:10.295+0000][gc,heap ] GC(5) Humongous regions: 0->0
[2025-09-21T17:17:10.295+0000][gc,metaspace] GC(5) Metaspace: 59978K(60480K)->59978K(60480K) NonClass: 52600K(52864K)->52600K(52864K) Class: 7378K(7616K)->7378K(7616K)
[2025-09-21T17:17:10.295+0000][gc ] GC(5) Pause Young (Concurrent Start) (Metadata GC Threshold) 351M->59M(1024M) 18.595ms
[2025-09-21T17:17:10.295+0000][gc,cpu ] GC(5) User=0.05s Sys=0.00s Real=0.02s
[2025-09-21T17:17:10.295+0000][gc ] GC(6) Concurrent Mark Cycle
[2025-09-21T17:17:10.295+0000][gc,marking ] GC(6) Concurrent Clear Claimed Marks
[2025-09-21T17:17:10.295+0000][gc,marking ] GC(6) Concurrent Clear Claimed Marks 0.062ms
[2025-09-21T17:17:10.295+0000][gc,marking ] GC(6) Concurrent Scan Root Regions
[2025-09-21T17:17:10.299+0000][gc,marking ] GC(6) Concurrent Scan Root Regions 4.192ms
[2025-09-21T17:17:10.299+0000][gc,marking ] GC(6) Concurrent Mark
[2025-09-21T17:17:10.299+0000][gc,marking ] GC(6) Concurrent Mark From Roots
[2025-09-21T17:17:10.299+0000][gc,task ] GC(6) Using 3 workers of 3 for marking
[2025-09-21T17:17:10.322+0000][gc,marking ] GC(6) Concurrent Mark From Roots 22.317ms
[2025-09-21T17:17:10.322+0000][gc,marking ] GC(6) Concurrent Preclean
[2025-09-21T17:17:10.322+0000][gc,marking ] GC(6) Concurrent Preclean 0.180ms
[2025-09-21T17:17:10.322+0000][gc,start ] GC(6) Pause Remark
[2025-09-21T17:17:10.328+0000][gc ] GC(6) Pause Remark 61M->61M(1024M) 6.234ms
[2025-09-21T17:17:10.328+0000][gc,cpu ] GC(6) User=0.03s Sys=0.00s Real=0.00s
[2025-09-21T17:17:10.329+0000][gc,marking ] GC(6) Concurrent Mark 29.288ms
[2025-09-21T17:17:10.329+0000][gc,marking ] GC(6) Concurrent Rebuild Remembered Sets
[2025-09-21T17:17:10.338+0000][gc,marking ] GC(6) Concurrent Rebuild Remembered Sets 9.779ms
[2025-09-21T17:17:10.339+0000][gc,start ] GC(6) Pause Cleanup
[2025-09-21T17:17:10.339+0000][gc ] GC(6) Pause Cleanup 63M->63M(1024M) 0.287ms
[2025-09-21T17:17:10.339+0000][gc,cpu ] GC(6) User=0.00s Sys=0.00s Real=0.00s
[2025-09-21T17:17:10.339+0000][gc,marking ] GC(6) Concurrent Cleanup for Next Mark
[2025-09-21T17:17:10.340+0000][gc,marking ] GC(6) Concurrent Cleanup for Next Mark 0.885ms
[2025-09-21T17:17:10.340+0000][gc ] GC(6) Concurrent Mark Cycle 45.212ms
[2025-09-21T17:17:14.263+0000][gc,start ] GC(7) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:17:14.263+0000][gc,task ] GC(7) Using 10 workers of 10 for evacuation
[2025-09-21T17:17:14.285+0000][gc,phases ] GC(7) Pre Evacuate Collection Set: 0.3ms
[2025-09-21T17:17:14.285+0000][gc,phases ] GC(7) Merge Heap Roots: 0.2ms
[2025-09-21T17:17:14.285+0000][gc,phases ] GC(7) Evacuate Collection Set: 19.1ms
[2025-09-21T17:17:14.285+0000][gc,phases ] GC(7) Post Evacuate Collection Set: 2.6ms
[2025-09-21T17:17:14.285+0000][gc,phases ] GC(7) Other: 0.3ms
[2025-09-21T17:17:14.285+0000][gc,heap ] GC(7) Eden regions: 491->0(463)
[2025-09-21T17:17:14.285+0000][gc,heap ] GC(7) Survivor regions: 21->49(64)
[2025-09-21T17:17:14.285+0000][gc,heap ] GC(7) Old regions: 38->38
[2025-09-21T17:17:14.285+0000][gc,heap ] GC(7) Archive regions: 2->2
[2025-09-21T17:17:14.285+0000][gc,heap ] GC(7) Humongous regions: 0->0
[2025-09-21T17:17:14.285+0000][gc,metaspace] GC(7) Metaspace: 73888K(74496K)->73888K(74496K) NonClass: 64575K(64896K)->64575K(64896K) Class: 9313K(9600K)->9313K(9600K)
[2025-09-21T17:17:14.285+0000][gc ] GC(7) Pause Young (Normal) (G1 Evacuation Pause) 550M->87M(1024M) 22.804ms
[2025-09-21T17:17:14.285+0000][gc,cpu ] GC(7) User=0.13s Sys=0.01s Real=0.02s
[2025-09-21T17:17:17.752+0000][gc,start ] GC(8) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:17:17.752+0000][gc,task ] GC(8) Using 10 workers of 10 for evacuation
[2025-09-21T17:17:17.819+0000][gc,phases ] GC(8) Pre Evacuate Collection Set: 0.3ms
[2025-09-21T17:17:17.819+0000][gc,phases ] GC(8) Merge Heap Roots: 0.1ms
[2025-09-21T17:17:17.819+0000][gc,phases ] GC(8) Evacuate Collection Set: 61.4ms
[2025-09-21T17:17:17.819+0000][gc,phases ] GC(8) Post Evacuate Collection Set: 4.7ms
[2025-09-21T17:17:17.819+0000][gc,phases ] GC(8) Other: 0.4ms
[2025-09-21T17:17:17.819+0000][gc,heap ] GC(8) Eden regions: 463->0(451)
[2025-09-21T17:17:17.819+0000][gc,heap ] GC(8) Survivor regions: 49->61(64)
[2025-09-21T17:17:17.820+0000][gc,heap ] GC(8) Old regions: 38->57
[2025-09-21T17:17:17.820+0000][gc,heap ] GC(8) Archive regions: 2->2
[2025-09-21T17:17:17.820+0000][gc,heap ] GC(8) Humongous regions: 0->0
[2025-09-21T17:17:17.820+0000][gc,metaspace] GC(8) Metaspace: 81083K(81792K)->81083K(81792K) NonClass: 70880K(71232K)->70880K(71232K) Class: 10202K(10560K)->10202K(10560K)
[2025-09-21T17:17:17.820+0000][gc ] GC(8) Pause Young (Normal) (G1 Evacuation Pause) 550M->117M(1024M) 68.527ms
[2025-09-21T17:17:17.820+0000][gc,cpu ] GC(8) User=0.42s Sys=0.17s Real=0.06s
[2025-09-21T17:23:40.538+0000][gc,start ] GC(9) Pause Young (Normal) (G1 Evacuation Pause)
[2025-09-21T17:23:40.540+0000][gc,task ] GC(9) Using 10 workers of 10 for evacuation
[2025-09-21T17:23:40.566+0000][gc,phases ] GC(9) Pre Evacuate Collection Set: 0.3ms
[2025-09-21T17:23:40.566+0000][gc,phases ] GC(9) Merge Heap Roots: 0.2ms
[2025-09-21T17:23:40.566+0000][gc,phases ] GC(9) Evacuate Collection Set: 21.3ms
[2025-09-21T17:23:40.566+0000][gc,phases ] GC(9) Post Evacuate Collection Set: 3.0ms
[2025-09-21T17:23:40.566+0000][gc,phases ] GC(9) Other: 7.1ms
[2025-09-21T17:23:40.566+0000][gc,heap ] GC(9) Eden regions: 451->0(489)
[2025-09-21T17:23:40.566+0000][gc,heap ] GC(9) Survivor regions: 61->23(64)
[2025-09-21T17:23:40.566+0000][gc,heap ] GC(9) Old regions: 57->79
[2025-09-21T17:23:40.566+0000][gc,heap ] GC(9) Archive regions: 2->2
[2025-09-21T17:23:40.566+0000][gc,heap ] GC(9) Humongous regions: 7->7
[2025-09-21T17:23:40.566+0000][gc,metaspace] GC(9) Metaspace: 90296K(91072K)->90296K(91072K) NonClass: 79218K(79616K)->79218K(79616K) Class: 11077K(11456K)->11077K(11456K)
[2025-09-21T17:23:40.566+0000][gc ] GC(9) Pause Young (Normal) (G1 Evacuation Pause) 575M->109M(1024M) 28.911ms
[2025-09-21T17:23:40.566+0000][gc,cpu ] GC(9) User=0.12s Sys=0.06s Real=0.03s
[2025-09-21T17:49:56.652+0000][gc,heap,exit] Heap
[2025-09-21T17:49:56.653+0000][gc,heap,exit] garbage-first heap total 1048576K, used 474033K [0x00000000c0000000, 0x0000000100000000)
[2025-09-21T17:49:56.653+0000][gc,heap,exit] region size 1024K, 375 young (384000K), 23 survivors (23552K)
[2025-09-21T17:49:56.653+0000][gc,heap,exit] Metaspace used 93773K, committed 94720K, reserved 1179648K
[2025-09-21T17:49:56.653+0000][gc,heap,exit] class space used 11233K, committed 11712K, reserved 1048576K

View File

@@ -1,2 +0,0 @@
2025-09-22 02:21:08,674 INFO {POS} {IP-DISABLED} valid: 192.168.31.101:1333@DEFAULT@app-shared, region: unknown, msg: client last beat: 1758478850332

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +0,0 @@
2025-09-22 01:44:39,574 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=2}
2025-09-22 01:44:44,784 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=2}
2025-09-22 01:48:48,290 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=4}
2025-09-22 01:50:18,461 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=2}
2025-09-22 01:50:20,024 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=2}
2025-09-22 02:01:31,866 INFO DEFAULT_GROUP@@app-product is changed, add it to push queue.
2025-09-22 02:01:31,886 INFO serviceName: DEFAULT_GROUP@@app-product changed, schedule push for: 192.168.31.101:59690, agent: Nacos-Java-Client:v1.0.0, key: 192.168.31.101,59690,52604733734431
2025-09-22 02:01:31,887 INFO send udp packet: 192.168.31.101,59690,52604733734431
2025-09-22 02:01:31,901 INFO [PUSH-SUCC] 40ms, all delay time 581ms for subscriber 192.168.31.101, Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=2}, originalSize=1, DataSize=1
2025-09-22 02:02:39,192 INFO DEFAULT_GROUP@@app-product is changed, add it to push queue.
2025-09-22 02:02:39,193 INFO serviceName: DEFAULT_GROUP@@app-product changed, schedule push for: 192.168.31.101:51777, agent: Nacos-Java-Client:v1.0.0, key: 192.168.31.101,51777,52672059923470
2025-09-22 02:02:39,194 INFO send udp packet: 192.168.31.101,51777,52672059923470
2025-09-22 02:02:39,196 INFO [PUSH-SUCC] 4ms, all delay time 569ms for subscriber 192.168.31.101, Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=2}, originalSize=1, DataSize=1
2025-09-22 02:09:59,753 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=4}
2025-09-22 02:10:06,643 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=4}
2025-09-22 02:22:08,769 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=8}
2025-09-22 02:22:18,808 INFO [PUSH] Task merge for Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=7}

View File

@@ -1,122 +0,0 @@
2025-09-22 01:17:11,757 INFO [SelectorManager] Load SelectorContextBuilder(class com.alibaba.nacos.naming.selector.context.CmdbSelectorContextBuilder) contextType(CMDB) successfully.
2025-09-22 01:17:11,757 INFO [SelectorManager] Load SelectorContextBuilder(class com.alibaba.nacos.naming.selector.context.NoneSelectorContextBuilder) contextType(NONE) successfully.
2025-09-22 01:17:11,759 INFO [SelectorManager] Load Selector(class com.alibaba.nacos.naming.selector.LabelSelector) type(label) contextType(CMDB) successfully.
2025-09-22 01:17:11,759 INFO [SelectorManager] Load Selector(class com.alibaba.nacos.naming.selector.NoneSelector) type(none) contextType(NONE) successfully.
2025-09-22 01:17:16,912 INFO Load instance extension handler []
2025-09-22 01:18:14,637 INFO Client connection 192.168.31.101:1300#true connect
2025-09-22 01:18:14,667 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='main-app', ephemeral=true, revision=0}, 192.168.31.101:1300#true
2025-09-22 01:18:14,695 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@main-app,changed type ADD_SERVICE
2025-09-22 01:44:39,496 INFO Client connection 192.168.31.101:1333#true connect
2025-09-22 01:44:39,496 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=0}, 192.168.31.101:1333#true
2025-09-22 01:44:39,498 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@app-shared,changed type ADD_SERVICE
2025-09-22 01:44:39,574 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=1}, 192.168.31.101:1333#true
2025-09-22 01:44:44,696 INFO Client connection 192.168.31.101:1301#true connect
2025-09-22 01:44:44,696 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=0}, 192.168.31.101:1301#true
2025-09-22 01:44:44,696 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@app-product,changed type ADD_SERVICE
2025-09-22 01:44:44,784 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=1}, 192.168.31.101:1301#true
2025-09-22 01:44:47,793 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='main-app', ephemeral=true, revision=1}, 192.168.31.101:1300#true
2025-09-22 01:48:48,209 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=2}, 192.168.31.101:1333#true
2025-09-22 01:48:48,289 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=3}, 192.168.31.101:1333#true
2025-09-22 01:49:55,744 INFO [NamingServerHttpClientManager] Start destroying HTTP-Client
2025-09-22 01:49:55,753 INFO [NamingServerHttpClientManager] Completed destruction of HTTP-Client
2025-09-22 01:50:11,470 INFO [SelectorManager] Load SelectorContextBuilder(class com.alibaba.nacos.naming.selector.context.CmdbSelectorContextBuilder) contextType(CMDB) successfully.
2025-09-22 01:50:11,470 INFO [SelectorManager] Load SelectorContextBuilder(class com.alibaba.nacos.naming.selector.context.NoneSelectorContextBuilder) contextType(NONE) successfully.
2025-09-22 01:50:11,471 INFO [SelectorManager] Load Selector(class com.alibaba.nacos.naming.selector.LabelSelector) type(label) contextType(CMDB) successfully.
2025-09-22 01:50:11,471 INFO [SelectorManager] Load Selector(class com.alibaba.nacos.naming.selector.NoneSelector) type(none) contextType(NONE) successfully.
2025-09-22 01:50:16,662 INFO Load instance extension handler []
2025-09-22 01:50:18,404 INFO Client connection 192.168.31.101:1300#true connect
2025-09-22 01:50:18,404 INFO Client connection 192.168.31.101:1333#true connect
2025-09-22 01:50:18,431 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='main-app', ephemeral=true, revision=0}, 192.168.31.101:1300#true
2025-09-22 01:50:18,432 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=0}, 192.168.31.101:1333#true
2025-09-22 01:50:18,432 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=0}, 192.168.31.101:1333#true
2025-09-22 01:50:18,461 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@app-shared,changed type ADD_SERVICE
2025-09-22 01:50:18,461 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@main-app,changed type ADD_SERVICE
2025-09-22 01:50:20,023 INFO Client connection 192.168.31.101:1301#true connect
2025-09-22 01:50:20,024 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=0}, 192.168.31.101:1301#true
2025-09-22 01:50:20,024 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=0}, 192.168.31.101:1301#true
2025-09-22 01:50:20,024 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@app-product,changed type ADD_SERVICE
2025-09-22 02:01:31,319 INFO Client connection 192.168.31.101:59690#true connect
2025-09-22 02:02:38,627 INFO Client connection 192.168.31.101:51777#true connect
2025-09-22 02:02:38,638 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='main-app', ephemeral=true, revision=1}, 192.168.31.101:1300#true
2025-09-22 02:03:04,891 INFO Client connection 192.168.31.101:59690#true disconnect, remove instances and subscribers
2025-09-22 02:04:28,524 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='main-app', ephemeral=true, revision=2}, 192.168.31.101:1300#true
2025-09-22 02:04:49,908 INFO Client connection 192.168.31.101:51777#true disconnect, remove instances and subscribers
2025-09-22 02:09:59,676 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=2}, 192.168.31.101:1333#true
2025-09-22 02:09:59,753 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=3}, 192.168.31.101:1333#true
2025-09-22 02:10:06,555 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=2}, 192.168.31.101:1301#true
2025-09-22 02:10:06,641 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=3}, 192.168.31.101:1301#true
2025-09-22 02:10:11,149 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='main-app', ephemeral=true, revision=3}, 192.168.31.101:1300#true
2025-09-22 02:21:23,688 INFO [AUTO-DELETE-IP] service: Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=4}, ip: {"ip":"192.168.31.101","port":1333,"healthy":false,"cluster":"DEFAULT","extendDatum":{"customInstanceId":"192.168.31.101#1333#DEFAULT#DEFAULT_GROUP@@app-shared"},"lastHeartBeatTime":1758478850332,"metadataId":"192.168.31.101:1333:DEFAULT"}
2025-09-22 02:21:23,688 INFO Client remove for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=4}, 192.168.31.101:1333#true
2025-09-22 02:21:23,692 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@app-shared,changed type DELETE_SERVICE
2025-09-22 02:21:25,026 INFO Client connection 192.168.31.101:1333#true disconnect, remove instances and subscribers
2025-09-22 02:22:02,231 INFO Client connection 192.168.31.101:1333#true connect
2025-09-22 02:22:02,231 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=5}, 192.168.31.101:1333#true
2025-09-22 02:22:02,231 WARN [fuzzy-watch] service change matched,service key public@@DEFAULT_GROUP@@app-shared,changed type ADD_SERVICE
2025-09-22 02:22:08,680 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=6}, 192.168.31.101:1333#true
2025-09-22 02:22:08,768 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-shared', ephemeral=true, revision=7}, 192.168.31.101:1333#true
2025-09-22 02:22:13,631 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=4}, 192.168.31.101:1301#true
2025-09-22 02:22:18,736 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=5}, 192.168.31.101:1301#true
2025-09-22 02:22:18,808 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='app-product', ephemeral=true, revision=6}, 192.168.31.101:1301#true
2025-09-22 02:22:26,656 INFO Client change for service Service{namespace='public', group='DEFAULT_GROUP', name='main-app', ephemeral=true, revision=4}, 192.168.31.101:1300#true

File diff suppressed because it is too large Load Diff

View File

@@ -1,416 +0,0 @@
2025-09-22 01:17:08,887 INFO Not configure type of control plugin, no limit control for current node.
2025-09-22 01:17:08,890 INFO Load connection metrics collector,size=2,[com.alibaba.nacos.config.server.service.LongPollingConnectionMetricsCollector@75b5d09, com.alibaba.nacos.core.remote.LongConnectionMetricsCollector@4104b6a6]
2025-09-22 01:17:08,891 INFO No connection rule content found ,use default empty rule
2025-09-22 01:17:08,903 INFO No tps control rule of CONFIG_PUSH_COUNT found,content =null
2025-09-22 01:17:08,903 WARN Tps point for CONFIG_PUSH_COUNT registered, But tps control manager is no limit implementation.
2025-09-22 01:17:08,903 INFO No tps control rule of CONFIG_PUSH_SUCCESS found,content =null
2025-09-22 01:17:08,903 WARN Tps point for CONFIG_PUSH_SUCCESS registered, But tps control manager is no limit implementation.
2025-09-22 01:17:08,903 INFO No tps control rule of CONFIG_PUSH_FAIL found,content =null
2025-09-22 01:17:08,904 WARN Tps point for CONFIG_PUSH_FAIL registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,049 INFO No tps control rule of ConfigListen found,content =null
2025-09-22 01:17:14,049 WARN Tps point for ConfigListen registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,049 INFO No tps control rule of ClusterConfigChangeNotify found,content =null
2025-09-22 01:17:14,049 WARN Tps point for ClusterConfigChangeNotify registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,060 INFO No tps control rule of ConfigFuzzyWatch found,content =null
2025-09-22 01:17:14,060 WARN Tps point for ConfigFuzzyWatch registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,060 INFO No tps control rule of ConfigPublish found,content =null
2025-09-22 01:17:14,061 WARN Tps point for ConfigPublish registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,061 INFO No tps control rule of ConfigQuery found,content =null
2025-09-22 01:17:14,061 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,061 INFO No tps control rule of ConfigRemove found,content =null
2025-09-22 01:17:14,061 WARN Tps point for ConfigRemove registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,061 INFO No tps control rule of HealthCheck found,content =null
2025-09-22 01:17:14,061 WARN Tps point for HealthCheck registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,062 INFO No tps control rule of RemoteNamingInstanceBatchRegister found,content =null
2025-09-22 01:17:14,062 WARN Tps point for RemoteNamingInstanceBatchRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,062 INFO No tps control rule of RemoteNamingInstanceRegisterDeregister found,content =null
2025-09-22 01:17:14,062 WARN Tps point for RemoteNamingInstanceRegisterDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,062 WARN Tps point for RemoteNamingInstanceRegisterDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,063 INFO No tps control rule of RemoteNamingServiceListQuery found,content =null
2025-09-22 01:17:14,063 WARN Tps point for RemoteNamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,063 INFO No tps control rule of RemoteNamingServiceQuery found,content =null
2025-09-22 01:17:14,063 WARN Tps point for RemoteNamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:14,063 INFO No tps control rule of RemoteNamingServiceSubscribeUnSubscribe found,content =null
2025-09-22 01:17:14,063 WARN Tps point for RemoteNamingServiceSubscribeUnSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,913 INFO No tps control rule of NamingInstanceMetadataUpdate found,content =null
2025-09-22 01:17:18,913 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,913 INFO No tps control rule of NamingServiceQuery found,content =null
2025-09-22 01:17:18,914 WARN Tps point for NamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,914 INFO No tps control rule of NamingServiceRegister found,content =null
2025-09-22 01:17:18,914 WARN Tps point for NamingServiceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,914 INFO No tps control rule of NamingServiceDeregister found,content =null
2025-09-22 01:17:18,914 WARN Tps point for NamingServiceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,914 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,914 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,914 WARN Tps point for ConfigPublish registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,915 INFO No tps control rule of NamingServiceUpdate found,content =null
2025-09-22 01:17:18,915 WARN Tps point for NamingServiceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,915 INFO No tps control rule of NamingInstanceQuery found,content =null
2025-09-22 01:17:18,915 WARN Tps point for NamingInstanceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,915 WARN Tps point for ConfigPublish registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,915 INFO No tps control rule of NamingInstanceDeregister found,content =null
2025-09-22 01:17:18,915 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,915 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,916 WARN Tps point for NamingInstanceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,916 INFO No tps control rule of NamingInstanceRegister found,content =null
2025-09-22 01:17:18,916 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,916 WARN Tps point for NamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,916 INFO No tps control rule of NamingServiceSubscribe found,content =null
2025-09-22 01:17:18,916 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,916 WARN Tps point for NamingServiceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,916 INFO No tps control rule of NamingInstanceUpdate found,content =null
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingServiceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,917 WARN Tps point for NamingServiceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingInstanceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 INFO No tps control rule of NamingServiceListQuery found,content =null
2025-09-22 01:17:18,918 WARN Tps point for NamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for NamingServiceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,918 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 WARN Tps point for NamingServiceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 INFO No tps control rule of HttpHealthCheck found,content =null
2025-09-22 01:17:18,919 WARN Tps point for HttpHealthCheck registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 WARN Tps point for HttpHealthCheck registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 WARN Tps point for NamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:17:18,919 WARN Tps point for NamingServiceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:08,764 INFO Not configure type of control plugin, no limit control for current node.
2025-09-22 01:50:08,768 INFO Load connection metrics collector,size=2,[com.alibaba.nacos.config.server.service.LongPollingConnectionMetricsCollector@3e02988, com.alibaba.nacos.core.remote.LongConnectionMetricsCollector@34c3e307]
2025-09-22 01:50:08,769 INFO No connection rule content found ,use default empty rule
2025-09-22 01:50:08,780 INFO No tps control rule of CONFIG_PUSH_COUNT found,content =null
2025-09-22 01:50:08,780 WARN Tps point for CONFIG_PUSH_COUNT registered, But tps control manager is no limit implementation.
2025-09-22 01:50:08,780 INFO No tps control rule of CONFIG_PUSH_SUCCESS found,content =null
2025-09-22 01:50:08,780 WARN Tps point for CONFIG_PUSH_SUCCESS registered, But tps control manager is no limit implementation.
2025-09-22 01:50:08,780 INFO No tps control rule of CONFIG_PUSH_FAIL found,content =null
2025-09-22 01:50:08,780 WARN Tps point for CONFIG_PUSH_FAIL registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,909 INFO No tps control rule of ConfigListen found,content =null
2025-09-22 01:50:13,910 WARN Tps point for ConfigListen registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,910 INFO No tps control rule of ClusterConfigChangeNotify found,content =null
2025-09-22 01:50:13,910 WARN Tps point for ClusterConfigChangeNotify registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,921 INFO No tps control rule of ConfigFuzzyWatch found,content =null
2025-09-22 01:50:13,921 WARN Tps point for ConfigFuzzyWatch registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,921 INFO No tps control rule of ConfigPublish found,content =null
2025-09-22 01:50:13,921 WARN Tps point for ConfigPublish registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,922 INFO No tps control rule of ConfigQuery found,content =null
2025-09-22 01:50:13,922 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,922 INFO No tps control rule of ConfigRemove found,content =null
2025-09-22 01:50:13,922 WARN Tps point for ConfigRemove registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,922 INFO No tps control rule of HealthCheck found,content =null
2025-09-22 01:50:13,922 WARN Tps point for HealthCheck registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,922 INFO No tps control rule of RemoteNamingInstanceBatchRegister found,content =null
2025-09-22 01:50:13,922 WARN Tps point for RemoteNamingInstanceBatchRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,923 INFO No tps control rule of RemoteNamingInstanceRegisterDeregister found,content =null
2025-09-22 01:50:13,923 WARN Tps point for RemoteNamingInstanceRegisterDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,923 WARN Tps point for RemoteNamingInstanceRegisterDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,923 INFO No tps control rule of RemoteNamingServiceListQuery found,content =null
2025-09-22 01:50:13,923 WARN Tps point for RemoteNamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,923 INFO No tps control rule of RemoteNamingServiceQuery found,content =null
2025-09-22 01:50:13,923 WARN Tps point for RemoteNamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:13,923 INFO No tps control rule of RemoteNamingServiceSubscribeUnSubscribe found,content =null
2025-09-22 01:50:13,924 WARN Tps point for RemoteNamingServiceSubscribeUnSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,505 INFO No tps control rule of NamingInstanceRegister found,content =null
2025-09-22 01:50:17,505 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,505 INFO No tps control rule of NamingInstanceQuery found,content =null
2025-09-22 01:50:17,505 WARN Tps point for NamingInstanceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,506 INFO No tps control rule of NamingServiceListQuery found,content =null
2025-09-22 01:50:17,506 WARN Tps point for NamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,506 INFO No tps control rule of NamingInstanceMetadataUpdate found,content =null
2025-09-22 01:50:17,506 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,506 INFO No tps control rule of NamingInstanceUpdate found,content =null
2025-09-22 01:50:17,506 WARN Tps point for NamingInstanceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,506 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,506 INFO No tps control rule of NamingServiceDeregister found,content =null
2025-09-22 01:50:17,506 WARN Tps point for NamingServiceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,506 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,507 INFO No tps control rule of NamingServiceRegister found,content =null
2025-09-22 01:50:17,507 WARN Tps point for NamingServiceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,507 INFO No tps control rule of NamingServiceSubscribe found,content =null
2025-09-22 01:50:17,507 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,507 INFO No tps control rule of NamingServiceUpdate found,content =null
2025-09-22 01:50:17,507 WARN Tps point for NamingServiceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,508 WARN Tps point for NamingInstanceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,508 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,508 WARN Tps point for ConfigPublish registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,508 WARN Tps point for NamingInstanceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,508 INFO No tps control rule of HttpHealthCheck found,content =null
2025-09-22 01:50:17,508 WARN Tps point for HttpHealthCheck registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,508 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 INFO No tps control rule of NamingServiceQuery found,content =null
2025-09-22 01:50:17,509 WARN Tps point for NamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for ConfigPublish registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 INFO No tps control rule of NamingInstanceDeregister found,content =null
2025-09-22 01:50:17,509 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for NamingInstanceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for NamingServiceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,509 WARN Tps point for NamingServiceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingServiceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceMetadataUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingServiceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for HttpHealthCheck registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingInstanceRegister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingServiceSubscribe registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,510 WARN Tps point for NamingServiceDeregister registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,511 WARN Tps point for NamingServiceQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,511 WARN Tps point for ConfigQuery registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,511 WARN Tps point for NamingServiceUpdate registered, But tps control manager is no limit implementation.
2025-09-22 01:50:17,511 WARN Tps point for NamingServiceListQuery registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,907 INFO No tps control rule of NAMING_RPC_PUSH found,content =null
2025-09-22 02:01:31,908 WARN Tps point for NAMING_RPC_PUSH registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,908 INFO No tps control rule of NAMING_RPC_PUSH_SUCCESS found,content =null
2025-09-22 02:01:31,908 WARN Tps point for NAMING_RPC_PUSH_SUCCESS registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,908 INFO No tps control rule of NAMING_RPC_PUSH_FAIL found,content =null
2025-09-22 02:01:31,908 WARN Tps point for NAMING_RPC_PUSH_FAIL registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,908 INFO No tps control rule of NAMING_UDP_PUSH found,content =null
2025-09-22 02:01:31,908 WARN Tps point for NAMING_UDP_PUSH registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_UDP_PUSH_SUCCESS found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_UDP_PUSH_SUCCESS registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_UDP_PUSH_FAIL found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_UDP_PUSH_FAIL registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_DISTRO_SYNC found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_DISTRO_SYNC registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_DISTRO_SYNC_SUCCESS found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_DISTRO_SYNC_SUCCESS registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_DISTRO_SYNC_FAIL found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_DISTRO_SYNC_FAIL registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_DISTRO_VERIFY found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_DISTRO_VERIFY registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_DISTRO_VERIFY_SUCCESS found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_DISTRO_VERIFY_SUCCESS registered, But tps control manager is no limit implementation.
2025-09-22 02:01:31,909 INFO No tps control rule of NAMING_DISTRO_VERIFY_FAIL found,content =null
2025-09-22 02:01:31,909 WARN Tps point for NAMING_DISTRO_VERIFY_FAIL registered, But tps control manager is no limit implementation.

View File

@@ -1,96 +0,0 @@
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,892 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,891 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,892 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)
2025-09-22 01:49:55,892 ERROR [TASK-FAILED] java.lang.InterruptedException
java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1645)
at java.base/java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:420)
at com.alibaba.nacos.common.task.engine.TaskExecuteWorker$InnerWorker.run(TaskExecuteWorker.java:118)

View File

@@ -1,58 +0,0 @@
2025-09-22 01:17:09,707 INFO Initializes the Raft protocol, raft-config info : {"data":{},"members":["d97c29d750b4:7848"],"strictMode":false,"selfMember":"d97c29d750b4:7848"}
2025-09-22 01:17:10,255 INFO ========= The raft protocol is starting... =========
2025-09-22 01:17:10,299 INFO ========= The raft protocol start finished... =========
2025-09-22 01:17:10,366 INFO create raft group : naming_persistent_service_v2
2025-09-22 01:17:11,021 INFO This Raft event changes : RaftEvent{groupId='naming_persistent_service_v2', leader='d97c29d750b4:7848', term=1, raftClusterInfo=[d97c29d750b4:7848]}
2025-09-22 01:17:11,050 INFO create raft group : naming_persistent_service
2025-09-22 01:17:11,232 INFO This Raft event changes : RaftEvent{groupId='naming_persistent_service', leader='d97c29d750b4:7848', term=1, raftClusterInfo=[d97c29d750b4:7848]}
2025-09-22 01:17:11,273 INFO create raft group : naming_instance_metadata
2025-09-22 01:17:11,413 INFO This Raft event changes : RaftEvent{groupId='naming_instance_metadata', leader='d97c29d750b4:7848', term=1, raftClusterInfo=[d97c29d750b4:7848]}
2025-09-22 01:17:11,414 INFO create raft group : naming_service_metadata
2025-09-22 01:17:11,553 INFO This Raft event changes : RaftEvent{groupId='naming_service_metadata', leader='d97c29d750b4:7848', term=1, raftClusterInfo=[d97c29d750b4:7848]}
2025-09-22 01:17:11,934 INFO create raft group : lock_acquire_service_v2
2025-09-22 01:17:12,299 INFO This Raft event changes : RaftEvent{groupId='lock_acquire_service_v2', leader='d97c29d750b4:7848', term=1, raftClusterInfo=[d97c29d750b4:7848]}
2025-09-22 01:49:55,804 INFO shutdown jraft server
2025-09-22 01:49:55,805 INFO ========= The raft protocol is starting to close =========
2025-09-22 01:49:55,889 INFO ========= The raft protocol has been closed =========
2025-09-22 01:50:09,862 INFO Initializes the Raft protocol, raft-config info : {"data":{},"members":["8e5a20eec60e:7848"],"strictMode":false,"selfMember":"8e5a20eec60e:7848"}
2025-09-22 01:50:10,185 INFO ========= The raft protocol is starting... =========
2025-09-22 01:50:10,232 INFO ========= The raft protocol start finished... =========
2025-09-22 01:50:10,298 INFO create raft group : naming_persistent_service_v2
2025-09-22 01:50:10,877 INFO This Raft event changes : RaftEvent{groupId='naming_persistent_service_v2', leader='8e5a20eec60e:7848', term=1, raftClusterInfo=[8e5a20eec60e:7848]}
2025-09-22 01:50:10,888 INFO create raft group : naming_persistent_service
2025-09-22 01:50:10,988 INFO This Raft event changes : RaftEvent{groupId='naming_persistent_service', leader='8e5a20eec60e:7848', term=1, raftClusterInfo=[8e5a20eec60e:7848]}
2025-09-22 01:50:11,019 INFO create raft group : naming_instance_metadata
2025-09-22 01:50:11,142 INFO create raft group : naming_service_metadata
2025-09-22 01:50:11,144 INFO This Raft event changes : RaftEvent{groupId='naming_instance_metadata', leader='8e5a20eec60e:7848', term=1, raftClusterInfo=[8e5a20eec60e:7848]}
2025-09-22 01:50:11,275 INFO This Raft event changes : RaftEvent{groupId='naming_service_metadata', leader='8e5a20eec60e:7848', term=1, raftClusterInfo=[8e5a20eec60e:7848]}
2025-09-22 01:50:11,614 INFO create raft group : lock_acquire_service_v2
2025-09-22 01:50:11,860 INFO This Raft event changes : RaftEvent{groupId='lock_acquire_service_v2', leader='8e5a20eec60e:7848', term=1, raftClusterInfo=[8e5a20eec60e:7848]}

View File

@@ -1,76 +0,0 @@
2025-09-22 01:17:08,832 INFO [ClientConnectionEventListenerRegistry] registry listener - ConfigConnectionEventListener
2025-09-22 01:17:09,113 INFO Nacos GrpcSdkServer Rpc server starting at port 9848
2025-09-22 01:17:09,369 INFO Load ProtocolNegotiatorBuilder com.alibaba.nacos.core.remote.grpc.negotiator.tls.SdkDefaultTlsProtocolNegotiatorBuilder for type DEFAULT_TLS
2025-09-22 01:17:09,369 INFO Load ProtocolNegotiatorBuilder com.alibaba.nacos.core.remote.grpc.negotiator.tls.ClusterDefaultTlsProtocolNegotiatorBuilder for type CLUSTER_DEFAULT_TLS
2025-09-22 01:17:09,370 WARN Not found ProtocolNegotiatorBuilder for type nacos.remote.server.rpc.protocol.negotiator.type, will use default type nacos.remote.server.rpc.protocol.negotiator.type
2025-09-22 01:17:09,374 WARN Recommended use 'nacos.remote.server.grpc.sdk.max-inbound-message-size' property instead 'nacos.remote.server.grpc.maxinbound.message.size', now property value is 10485760
2025-09-22 01:17:09,530 INFO Ssl Context auto refresh is not supported.
2025-09-22 01:17:09,530 INFO Ssl Context auto refresh is not supported.
2025-09-22 01:17:09,530 INFO RpcServerSslContextRefresher initialization completed.
2025-09-22 01:17:09,531 INFO Nacos GrpcSdkServer Rpc server started at port 9848
2025-09-22 01:17:09,536 INFO Nacos GrpcClusterServer Rpc server starting at port 9849
2025-09-22 01:17:09,538 WARN Not found ProtocolNegotiatorBuilder for type nacos.remote.cluster.server.rpc.protocol.negotiator.type, will use default type nacos.remote.cluster.server.rpc.protocol.negotiator.type
2025-09-22 01:17:09,539 WARN Recommended use 'nacos.remote.server.grpc.cluster.max-inbound-message-size' property instead 'nacos.remote.server.grpc.maxinbound.message.size', now property value is 10485760
2025-09-22 01:17:09,540 INFO Nacos GrpcClusterServer Rpc server started at port 9849
2025-09-22 01:17:09,548 INFO [ClientConnectionEventListenerRegistry] registry listener - RpcAckCallbackInitorOrCleaner
2025-09-22 01:17:09,611 INFO [ClientConnectionEventListenerRegistry] registry listener - ConnectionBasedClientManager
2025-09-22 01:17:11,916 INFO [ClientConnectionEventListenerRegistry] registry listener - AiConnectionBasedClientManager
2025-09-22 01:49:55,739 INFO Nacos GrpcClusterServer Rpc server stopping
2025-09-22 01:49:55,739 INFO Nacos GrpcSdkServer Rpc server stopping
2025-09-22 01:49:55,752 INFO Nacos GrpcSdkServer Rpc server stopped successfully...
2025-09-22 01:49:55,752 INFO Nacos GrpcClusterServer Rpc server stopped successfully...
2025-09-22 01:50:08,694 INFO [ClientConnectionEventListenerRegistry] registry listener - ConfigConnectionEventListener
2025-09-22 01:50:08,990 INFO Nacos GrpcSdkServer Rpc server starting at port 9848
2025-09-22 01:50:09,541 INFO Load ProtocolNegotiatorBuilder com.alibaba.nacos.core.remote.grpc.negotiator.tls.SdkDefaultTlsProtocolNegotiatorBuilder for type DEFAULT_TLS
2025-09-22 01:50:09,541 INFO Load ProtocolNegotiatorBuilder com.alibaba.nacos.core.remote.grpc.negotiator.tls.ClusterDefaultTlsProtocolNegotiatorBuilder for type CLUSTER_DEFAULT_TLS
2025-09-22 01:50:09,542 WARN Not found ProtocolNegotiatorBuilder for type nacos.remote.server.rpc.protocol.negotiator.type, will use default type nacos.remote.server.rpc.protocol.negotiator.type
2025-09-22 01:50:09,547 WARN Recommended use 'nacos.remote.server.grpc.sdk.max-inbound-message-size' property instead 'nacos.remote.server.grpc.maxinbound.message.size', now property value is 10485760
2025-09-22 01:50:09,682 INFO Ssl Context auto refresh is not supported.
2025-09-22 01:50:09,682 INFO Ssl Context auto refresh is not supported.
2025-09-22 01:50:09,683 INFO RpcServerSslContextRefresher initialization completed.
2025-09-22 01:50:09,683 INFO Nacos GrpcSdkServer Rpc server started at port 9848
2025-09-22 01:50:09,689 INFO Nacos GrpcClusterServer Rpc server starting at port 9849
2025-09-22 01:50:09,690 WARN Not found ProtocolNegotiatorBuilder for type nacos.remote.cluster.server.rpc.protocol.negotiator.type, will use default type nacos.remote.cluster.server.rpc.protocol.negotiator.type
2025-09-22 01:50:09,691 WARN Recommended use 'nacos.remote.server.grpc.cluster.max-inbound-message-size' property instead 'nacos.remote.server.grpc.maxinbound.message.size', now property value is 10485760
2025-09-22 01:50:09,693 INFO Nacos GrpcClusterServer Rpc server started at port 9849
2025-09-22 01:50:09,706 INFO [ClientConnectionEventListenerRegistry] registry listener - RpcAckCallbackInitorOrCleaner
2025-09-22 01:50:09,772 INFO [ClientConnectionEventListenerRegistry] registry listener - ConnectionBasedClientManager
2025-09-22 01:50:11,599 INFO [ClientConnectionEventListenerRegistry] registry listener - AiConnectionBasedClientManager

10
docker/traefik/README.md Normal file
View File

@@ -0,0 +1,10 @@
## traefik 网关
部署在公网的 traefik 网关代码放到Linux服务器然后根据实际情况修改 `dynamic.yml` 文件,
然后在根目录执行命令即可:
```bash
docker-compose down && docker-compose up -d
# 或者这个命令
# docker compose down && docker compose up -d
```

View File

@@ -2,23 +2,26 @@ version: '3.8'
services:
traefik:
image: traefik:v3.0
image: traefik:latest
container_name: traefik
network_mode: "host" # 主机网络模式
networks:
- traefik-net
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.yml:/etc/traefik/traefik.yml
- ./dynamic.yml:/etc/traefik/dynamic.yml # 动态配置文件
- ./dynamic.yml:/etc/traefik/dynamic.yml
- ./log-file.log:/etc/traefik/log-file.log
- ./access.log:/etc/traefik/access.log
restart: always
# 2. Nacos 服务监听脚本
nacos-watcher:
user: "root"
privileged: true
image: node:24.8.0-alpine3.21
container_name: nacos-watcher
network_mode: "host"
working_dir: /app
volumes:
- ./:/app # 挂载当前目录到容器
command: sh -c "npm install && node nacos-watcher.js"
restart: always
whoami:
image: traefik/whoami:latest
labels:
- "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
networks:
traefik-net:
driver: bridge

View File

@@ -1,68 +1,113 @@
http:
routers:
main-app-router:
rule: PathPrefix(`/main-app`)
service: main-app-service
entryPoints:
- web
middlewares:
- compress
- ipWhiteList
- rateLimit
- retries
app-product-router:
rule: PathPrefix(`/app-product`)
service: app-product-service
entryPoints:
- web
middlewares:
- compress
- ipWhiteList
- rateLimit
- retries
#
app-shared-router:
rule: PathPrefix(`/app-shared`)
rule: Host(`nacos.ddd.com`) && PathPrefix(`/app-shared`)
service: app-shared-service
observability:
metrics: true
accessLogs: true
tracing: true
traceVerbosity: detailed
entryPoints:
- web
middlewares:
- compress
- ipWhiteList
- rateLimit
- retries
app-product-router:
rule: Host(`nacos.ddd.com`) && PathPrefix(`/app-product`)
service: app-product-service
observability:
metrics: true
accessLogs: true
tracing: true
traceVerbosity: detailed
entryPoints:
- web
# 使用域名访问前端main-app
main-ddd-router:
rule: Host(`main.ddd.com`)
service: main-ddd-service
observability:
metrics: true
accessLogs: true
tracing: true
traceVerbosity: detailed
entryPoints:
- web
# Nacos 集群 管理后台的统一访问域名
nacosui-ddd-router:
rule: Host(`nacosui.ddd.com`)
service: nacosui-ddd-service
observability:
metrics: true
accessLogs: true
tracing: true
traceVerbosity: detailed
entryPoints:
- web
# trafik 网关 代理 内网 nacos 集群 的地址
nacos-ddd-router:
rule: Host(`nacos.ddd.com`)
service: nacos-ddd-service
observability:
metrics: true
accessLogs: true
tracing: true
traceVerbosity: detailed
entryPoints:
- web
# trafik 网关的管理后台的域名
trafikui-ddd-router:
rule: Host(`trafikui.ddd.com`)
service: trafikui-ddd-service
observability:
metrics: true
accessLogs: true
tracing: true
traceVerbosity: detailed
entryPoints:
- web
services:
main-app-service:
loadBalancer:
servers:
- url: http://192.168.31.101:1300
app-product-service:
loadBalancer:
servers:
- url: http://192.168.31.101:1301
app-shared-service:
loadBalancer:
servers:
- url: http://192.168.31.101:1333
middlewares:
rateLimit:
rateLimit:
average: 100
burst: 200
period: 1s
sourceCriterion:
ipStrategy:
depth: 2
compress:
compress:
excludedContentTypes:
- text/event-stream
minResponseBodyBytes: 1024
ipWhiteList:
ipWhiteList:
sourceRange:
- 127.0.0.1/32
- 192.168.31.0/24
retries:
retry:
attempts: 3
initialInterval: 200ms
- url: http://192.168.139.172:1333
- url: http://192.168.139.184:1333
- url: http://192.168.139.186:1333
app-product-service:
loadBalancer:
servers:
- url: http://192.168.139.19:1301
- url: http://192.168.139.120:1301
- url: http://192.168.139.242:1301
main-ddd-service:
loadBalancer:
servers:
- url: http://192.168.31.101:1300
nacosui-ddd-service:
loadBalancer:
servers:
- url: http://192.168.139.84:8080
- url: http://192.168.139.15:8080
- url: http://192.168.139.178:8080
nacos-ddd-service:
loadBalancer:
servers:
- url: http://192.168.139.84:8848
- url: http://192.168.139.15:8848
- url: http://192.168.139.178:8848
trafikui-ddd-service:
loadBalancer:
servers:
- url: http://192.168.139.80:8080

View File

@@ -1,133 +0,0 @@
const axios = require('axios');
const fs = require('fs');
const path = require('path');
const yaml = require('js-yaml');
// 配置
const NACOS_SERVER = 'http://192.168.31.101:8848'; // 你的 Nacos 地址
const NAMESPACE = 'public';
const SERVICES = ['main-app', 'app-product', 'app-shared']; // 三个模块的服务名
const TRAEFIK_DYNAMIC_CONFIG = path.join(__dirname, './dynamic.yml');
const CHECK_INTERVAL = 5000; // 10秒检查一次服务变化
console.log('配置文件路径:', TRAEFIK_DYNAMIC_CONFIG);
if (!TRAEFIK_DYNAMIC_CONFIG) {
throw new Error('配置文件路径生成失败,路径为空');
}
// 通用中间件配置(可根据服务特性调整)
const commonMiddlewares = {
// 限流中间件(独立配置,关键修复)
rateLimit: {
rateLimit: {
average: 100,
burst: 200,
period: '1s',
sourceCriterion: {
ipStrategy: {depth: 2}
}
}
},
// 压缩中间件
compress: {
compress: {
excludedContentTypes: ['text/event-stream'],
minResponseBodyBytes: 1024
}
},
// IP白名单中间件示例允许本地和192.168.31网段)
ipWhiteList: {
ipWhiteList: {
sourceRange: ['127.0.0.1/32', '192.168.31.0/24']
}
},
// // 重定向中间件HTTP→HTTPS
// redirectToHttps: {
// redirectScheme: {
// scheme: 'https',
// permanent: true
// }
// },
// 重试中间件(关键修复:将重试配置移到这里)
retries: {
retry: {
attempts: 3,
initialInterval: '200ms'
}
}
};
// 从 Nacos 获取服务实例
async function getServiceInstances(serviceName) {
try {
const res = await axios.get(`${NACOS_SERVER}/nacos/v1/ns/instance/list`, {
params: {serviceName, namespaceId: NAMESPACE},
});
return res.data.hosts || [];
} catch (err) {
console.error(`获取 ${serviceName} 实例失败:`, err.message);
return [];
}
}
// 生成 traefik 动态配置
async function generateTraefikConfig() {
const config = {
http: {
routers: {},
services: {},
middlewares: commonMiddlewares
}
};
for (const serviceName of SERVICES) {
const instances = await getServiceInstances(serviceName);
if (instances.length === 0) {
console.warn(`服务 ${serviceName} 无可用实例`);
continue;
}
// 1. 配置服务(服务名 + 实例列表)
config.http.services[`${serviceName}-service`] = {
loadBalancer: {
servers: instances.map(inst => ({
url: `http://${inst.ip}:${inst.port}`,
})),
// 熔断配置
// healthCheck: {
// path: '/health', // 假设服务有健康检查接口
// interval: '30s',
// timeout: '5s',
// unhealthyThreshold: 3,
// healthyThreshold: 2
// }
}
};
// 2. 配置路由(路径前缀 + 绑定服务)
config.http.routers[`${serviceName}-router`] = {
rule: `PathPrefix(\`/${serviceName}\`)`, // 如 /main、/product
service: `${serviceName}-service`,
entryPoints: ['web'],
// 应用中间件压缩、IP白名单、限流、重试等
middlewares: ['compress', 'ipWhiteList', 'rateLimit', 'retries'],
};
}
// 将对象转换为 YAML 字符串
const yamlString = yaml.dump(config, {
indent: 2, // 缩进空格数
skipInvalid: true, // 跳过无效类型
noRefs: true // 禁止引用(防止循环引用问题)
});
console.log("yamlString: ", yamlString)
// 写入动态配置文件
fs.writeFileSync(TRAEFIK_DYNAMIC_CONFIG, yamlString, "utf8");
console.log('动态配置已更新');
}
// 定时检查并更新配置
setInterval(generateTraefikConfig, CHECK_INTERVAL);
// 立即执行一次
generateTraefikConfig();

View File

@@ -1,12 +1,12 @@
{
"name": "traefik",
"name": "traefik-naco",
"version": "1.0.0",
"description": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"axios": "^1.6.8",
"axios": "^1.12.2",
"js-yaml": "^4.1.0"
},
"keywords": [],

View File

@@ -0,0 +1,63 @@
const path = require("path");
module.exports = {
filePath: path.join(__dirname, '../../dynamic.yml'),
nacosApi: {
baseUrl: 'http://192.168.31.101:8848/nacos/v1/ns',
// baseUrl: 'http://192.168.31.101:8848/nacos/v3/admin/ns',
apiList: {
instanceInfo: '/instance/list',
serviceList: '/service/list',
}
},
nacosConfig: {
nameSpace: 'public',
},
// 每隔五秒检查一下最新配置
check_time: 10000,
// traefik 通用中间件配置
traefikConfig: {
middlewaresStr: ['compress', 'ipWhiteList', 'rateLimit', 'retries'],
middlewaresConfig: {
// 限流中间件
rateLimit: {
rateLimit: {
average: 100,
burst: 200,
period: '1s',
sourceCriterion: {
ipStrategy: {depth: 2}
}
}
},
// 压缩中间件
compress: {
compress: {
excludedContentTypes: ['text/event-stream'],
minResponseBodyBytes: 1024
}
},
// IP白名单中间件
ipWhiteList: {
ipWhiteList: {
sourceRange: ['127.0.0.1/32', '192.168.107.0/24']
}
},
// // 重定向中间件HTTP→HTTPS
// redirectToHttps: {
// redirectScheme: {
// scheme: 'https',
// permanent: true
// }
// },
// 重试中间件(关键修复:将重试配置移到这里)
retries: {
retry: {
attempts: 3,
initialInterval: '200ms'
}
}
}
}
}

View File

@@ -0,0 +1,38 @@
const axios = require('axios');
const config = require('../config');
const {AxiosError} = require("axios");
class Http {
instance = null;
constructor() {
this.instance = axios.create({
baseURL: config.nacosApi.baseUrl,
timeout: 10000,
headers: {
"Content-Type": "application/json"
}
})
this.ResponseInterceptor();
}
async get(params) {
return await this.instance.get(params.url, {
params: params.data,
});
}
async ResponseInterceptor() {
this.instance.interceptors.response.use(
(response) => {
return response.data;
},
(error) => {
return Promise.reject(error)
})
}
}
module.exports = new Http

View File

@@ -0,0 +1,9 @@
const utils = require('./utils')
const config = require('./config')
const uti = new utils();
setInterval(
uti.getServiceName.bind(uti),
config.check_time
)

View File

@@ -0,0 +1,109 @@
const config = require("../config")
const http = require("../http")
const yaml = require("js-yaml");
const path = require('path');
const fs = require('fs');
class Utils {
// 存储 Nacos上 服务列表 的服务名称
ServiceNameList = []
constructor() {
this.getServiceName()
}
/**
* 获取Nacos上的服务名称数组
* @returns {Promise<void>}
*/
async getServiceName() {
console.log("1: [getServiceName] 从Nacos 获取服务名..")
const {doms} = await http.get({
url: config.nacosApi.apiList.serviceList,
data: {pageNo: 1, pageSize: 20},
});
if (doms.length === 0) {
throw new Error("No service found for service list");
}
this.serviceName = doms;
console.log("2: [getServiceName] 服务名为:", this.serviceName)
await this.generateTraefikConfig()
}
/**
* 从 Nacos 获取服务实例
* @param serviceName
* @returns {Promise<*|*[]>}
*/
async getServiceInstances(serviceName) {
const {hosts} = await http.get({
url: config.nacosApi.apiList.instanceInfo,
data: {serviceName, namespaceId: config.nacosConfig.nameSpace},
});
return hosts || []
}
/**
* 生成 traefik 动态配置
* @returns {Promise<void>}
*/
async generateTraefikConfig() {
const traefikConf = {
http: {
routers: {},
services: {},
middlewares: config.traefikConfig.middlewaresConfig,
}
};
for (const serviceName of this.serviceName) {
const instances = await this.getServiceInstances(serviceName);
if (instances.length === 0) {
console.warn(`服务 ${serviceName} 无可用实例`);
continue;
}
// 1. 配置服务(服务名 + 实例列表)
traefikConf.http.services[`${serviceName}-service`] = {
loadBalancer: {
servers: instances.map(inst => ({
url: `http://${inst.ip}:${inst.port}`,
})),
}
};
// 2. 配置路由(路径前缀 + 绑定服务)
traefikConf.http.routers[`${serviceName}-router`] = {
rule: `PathPrefix(\`/${serviceName}\`)`, // 如 /main、/product
service: `${serviceName}-service`,
entryPoints: ['web'],
// 应用中间件压缩、IP白名单、限流、重试等
middlewares: config.traefikConfig.middlewaresStr,
};
}
this.stringToYaml(traefikConf)
}
/**
* 生成 yaml 配置文件
* @param conf
*/
stringToYaml(conf) {
console.log("3: [stringToYaml] 生成配置:", JSON.stringify(conf, null, 2));
console.log()
console.log()
const yamlString = yaml.dump(conf, {
indent: 2, // 缩进空格数
skipInvalid: true, // 跳过无效类型
noRefs: true // 禁止引用(防止循环引用问题)
});
fs.writeFileSync(config.filePath, yamlString, "utf8");
}
}
module.exports = Utils

View File

@@ -10,7 +10,25 @@ entryPoints:
# 服务发现与配置源(关键:子项缩进必须一致)
providers:
docker: { }
# 动态路由规则文件
file:
filename: "/etc/traefik/dynamic.yml"
watch: true # 自动监听文件变化
log:
filePath: "/etc/traefik/log-file.log"
format: common
level: INFO
accessLog:
filePath: "/etc/traefik/access.log"
format: "json"
addInternals: true
filters:
retryAttempts: true
minDuration: "2ms"
fields:
defaultMode: "keep"
headers:
defaultMode: "keep"

View File

@@ -1,21 +0,0 @@
# Nacos 配置中心ip:端口
VITE_NACOS_ADDRESS=192.168.31.101:8848
# traefik 网关的地址
VITE_TRAEFIK_ADDRESS=192.168.31.101
# 注册到 Nacos 的服务名称(微前端模块名称
VITE_SERVER_NAME=app-product
# 注册到 Nacos 的端口,也是前端运行的端口
VITE_SERVER_PORT=1301
#
# 说明:项目要调用哪些 微前端 模块
# 格式VITE_MODEL_XXXX_NAME=微前端模块名称(模块 的 开发者提供)
# 作用通过名称从Nacos配置中心发现模块地址和端口给 federation 实时加载
#
# shared 共享资源模块
VITE_MODEL_SHARED_NAME=app-shared

View File

@@ -1,10 +0,0 @@
npm install
npm run build
npm run serve
构建与部署:
- 在构建生产环境时,先构建主模块,并将其产出(特别是 remoteEntry.js 和对应的资产文件)部署到服务器,并获取其 URL。
- 然后,在子模块的 vite.config.ts 中,将 remotes 的 URL 更新为生产环境主模块 remoteEntry.js 的绝对 URL。
- 最后再构建子模块。

View File

@@ -1,16 +0,0 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vite App</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

View File

@@ -1,35 +0,0 @@
{
"name": "app-product",
"version": "0.0.0",
"private": true,
"type": "module",
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"scripts": {
"dev": "vite",
"dep": "concurrently \"npm run build\" \"npm run preview\"",
"preview": "vite preview --port 1301 --strictPort",
"build": "vite build --watch",
"type-check": "vue-tsc --build"
},
"dependencies": {
"nacos-federation": "link:../nacos-federation",
"pinia": "^3.0.3",
"vue": "^3.5.21",
"vue-router": "^4.5.1"
},
"devDependencies": {
"@originjs/vite-plugin-federation": "^1.4.1",
"@tsconfig/node22": "^22.0.2",
"@types/node": "^22.18.6",
"@vitejs/plugin-vue": "^6.0.1",
"@vitejs/plugin-vue-jsx": "^5.1.1",
"@vue/tsconfig": "^0.7.0",
"npm-run-all2": "^8.0.4",
"typescript": "~5.8.3",
"vite": "^7.1.6",
"vite-plugin-vue-devtools": "^8.0.2",
"vue-tsc": "^3.0.7"
}
}

View File

@@ -1,22 +0,0 @@
import {defineComponent} from 'vue'
export default defineComponent({
setup() {
return () => (
<>
<div class="order-federation-placeholder">
<h2>-</h2>
<p>
</p>
<h2></h2>
<ul>
<li>1</li>
<li>2</li>
</ul>
<p></p>
</div>
</>
)
}
})

View File

@@ -1,22 +0,0 @@
import { ErrorText } from "../../domain/enums/ErrorEnums";
import { ProductRepository } from "../../ports/repositories/ProductRepository";
/**
* 商品应用服务 - 协调领域对象完成业务用例
* 应用服务是领域层的外观,封装了领域逻辑的调用
*/
export class ProductApplicationService {
// 依赖注入仓储接口,而不是具体实现
constructor(private productRepository: ProductRepository) { }
async getProductList() {
return await this.productRepository.findAll();
}
async getProductInfo(id: number) {
if (!id) {
throw new Error(ErrorText.IdNotNull)
}
return await this.productRepository.findById(id);
}
}

View File

@@ -1,38 +0,0 @@
// 从商品联邦模块导入领域层资源
import {ProductRepository} from "@domains/product/ports/repositories/ProductRepository";
import {HttpProductRepository} from "@domains/product/infr/api/HttpProductRepository";
import {ProductApplicationService} from "@domains/product/application/services/ProductApplicationService";
/**
* 商品领域的依赖注入配置
* 将 接口 与 具体实现 绑定
*
* 优点:是一个依赖工厂,它隐藏了对象创建的细节,
* 让业务代码只需要关心 “做什么”,而不用关心 “依赖从哪里来”
* 所有依赖关系都在di目录下集中配置一目了然后续维护时能快速找到所有依赖的创建逻辑。
*
* 松耦合:
* 业务代码ProductApplicationService只依赖抽象接口ProductRepository
* 不依赖具体实现。如果未来需要改用其他数据来源(比如 WebSocket
* 只需修改bindProductRepository的返回值无需改动业务逻辑。
*
* 易于测试:
* 测试时可以临时替换为模拟实现
* productModule.bindProductRepository = () => new MockProductRepository();
* 这样测试就可以脱离真实 API使用预设的模拟数据。
*/
export const product = {
// 绑定 仓储抽象接口 到 HTTP具体实现
bindProductRepository: (): ProductRepository => {
// return new MockProductRepository 直接从真实接口数据改为测试模拟数据
return new HttpProductRepository;
},
// 创建应用服务实例
createProductApplicationService: (): ProductApplicationService => {
return new ProductApplicationService(
product.bindProductRepository()
);
}
}

View File

@@ -1,141 +0,0 @@
import { ErrorText } from "../enums/ErrorEnums"
/**
* 商品实体 - 包含商品的核心属性和行为
* 在DDD中实体具有唯一标识和生命周期
*/
export class Product {
private readonly _id: number;
private _name: string;
private _description: string;
private _price: number;
private _imageUrl: string;
private _stock: number;
private _categoryId: number;
constructor(
id: number,
name: string,
description: string,
price: number,
imageUrl: string,
stock: number,
categoryId: number,
) {
this._id = id;
this._name = name;
this._description = description;
this._price = price;
this._imageUrl = imageUrl;
this._stock = stock;
this._categoryId = categoryId;
}
// 实体唯一标识
get id(): number {
return this._id;
}
public get name(): string {
return this._name;
}
public set name(value: string) {
this._name = value;
}
public get description(): string {
return this._description;
}
public set description(value: string) {
this._description = value;
}
public get price(): number {
return this._price;
}
public set price(value: number) {
if (value < 0) {
throw new Error(ErrorText.PriceNotNegativein);
}
this._price = value;
}
public get imageUrl(): string {
return this._imageUrl;
}
public set imageUrl(value: string) {
this._imageUrl = value;
}
public get stock(): number {
return this._stock;
}
public set stock(value: number) {
if (value < 0) {
throw new Error(ErrorText.StockNotNegativein)
}
this._stock = value;
}
public get categoryId(): number {
return this._categoryId;
}
public set categoryId(value: number) {
this._categoryId = value;
}
/**
* 检查商品是否有库存
*/
hasStock() {
return this._stock > 0
}
/**
* 减少商品库存
* @param quantity 减少的数量
*/
reduceStock(quantity: number): void {
if (quantity <= 0) {
throw new Error(ErrorText.StockIsGreaterThanZero)
}
if (this._stock < quantity) {
throw new Error(ErrorText.LowStock)
}
this._stock -= quantity;
}
/**
* Class类转化为普通json数据
*/
toDTO(): Record<string, string | number> {
return {
id: this._id,
name: this._name,
description: this._description,
price: this._price,
imageUrl: this._imageUrl,
stock: this._stock,
categoryId: this._categoryId
}
}
/**
* 从json数据创建Product类实例
* 转化为领域实体 Product
*/
static fromDTO(data: Record<string, any>): Product {
return new Product(
data.id,
data.name,
data.description,
data.price,
data.imageUrl,
data.stock,
data.categoryId,
);
}
}

View File

@@ -1,7 +0,0 @@
export enum ErrorText {
PriceNotNegativein = "商品 价格 不能为负数",
StockNotNegativein = "商品 库存 不能为负数",
StockIsGreaterThanZero = "减少的库存数量必须大于0",
LowStock = "库存不足",
IdNotNull = "商品Id不能为空"
}

View File

@@ -1 +0,0 @@
# 临时占位,上传空文件夹,保存文件结构用,后面删除

View File

@@ -1,9 +0,0 @@
export interface ProductType {
id: number,
name: string,
description: string,
price: number,
imageUrl: string,
stock: number,
categoryId: number,
}

View File

@@ -1 +0,0 @@
# 临时占位,上传空文件夹,保存文件结构用,后面删除

View File

@@ -1,6 +0,0 @@
export * from './application/services/ProductApplicationService';
export * from './domain/entities/Product';
export * from './domain/enums/ErrorEnums';
export * from './domain/type/ProductType';
export * from './infr/api/HttpProductRepository';
export * from './ports/repositories/ProductRepository';

View File

@@ -1,27 +0,0 @@
import { Product } from "@domains/product/domain/entities/Product.ts";
import { ProductType } from "@domains/product/domain/type/ProductType.ts";
import { ProductRepository } from "@domains/product/ports/repositories/ProductRepository";
import { http } from "shared/infra";
import HttpConfig from "../config/HttpConfig";
/**
* HTTP商品仓储实现 - 实现商品数据的HTTP访问
* 这是基础设施层,负责具体的数据获取实现
*/
export class HttpProductRepository implements ProductRepository {
async findAll(): Promise<Array<ProductType>> {
const result: Array<ProductType> = await http.get({ url: HttpConfig.apiUrlList.productsListUrl });
const items = result.map((item) => Product.fromDTO(item))
return items;
}
async findById(id: number): Promise<Product> {
const result: ProductType = await http.get({
url: HttpConfig.apiUrlList.productsInfoUrl,
data: { id }
});
return Product.fromDTO(result);
}
}

View File

@@ -1,11 +0,0 @@
interface apiUrlListType {
productsListUrl: string
productsInfoUrl: string
}
export default class HttpConfig {
public static apiUrlList: apiUrlListType = {
productsListUrl: '/productsList',
productsInfoUrl: '/productsInfo',
}
}

View File

@@ -1,20 +0,0 @@
import { Product } from "../../domain/entities/Product"
import { ProductType } from "../../domain/type/ProductType"
/**
* 商品仓储接口 - 定义商品数据访问的契约
* 在DDD中端口定义了领域层与外部世界的交互方式
*/
export interface ProductRepository {
/**
* 获取商品列表
*/
findAll(): Promise<Array<ProductType>>;
/**
* 根据ID获取商品详情
* @param id 商品ID
*/
findById(id: number): Promise<Product>
}

View File

@@ -1 +0,0 @@
# 临时占位,上传空文件夹,保存文件结构用,后面删除

View File

@@ -1 +0,0 @@
# 临时占位,上传空文件夹,保存文件结构用,后面删除

View File

@@ -1 +0,0 @@
# 临时占位,上传空文件夹,保存文件结构用,后面删除

View File

@@ -1,17 +0,0 @@
import { RouteRecordRaw } from 'vue-router';
export const productRouter: Array<RouteRecordRaw> = [
{
path: '/Products',
name: 'ProductList',
component: () => import('../views/ProductList.jsx'),
meta: { title: '商品列表' }
},
{
path: '/ProductDetail',
name: 'ProductDetail',
component: () => import('../views/ProductDetail.jsx'),
meta: { title: '商品详情' }
},
]

View File

@@ -1,60 +0,0 @@
import {product} from '@domains/product/di/productModule';
import {ProductType} from '@domains/product/domain/type/ProductType';
import {defineComponent, onMounted, reactive} from 'vue'
import {useRoute} from 'vue-router'
interface storeType {
item: ProductType
id: number
}
export default defineComponent({
setup() {
const route = useRoute();
const productService = product.createProductApplicationService();
const state = reactive<storeType>({
item: {} as ProductType,
id: 0
})
onMounted(() => {
if (!route.query.id) {
throw new Error("缺少id参数");
}
state.id = Number(route.query.id)
console.log("id: ", state.id);
loadProductDetail()
})
const loadProductDetail = async () => {
state.item = await productService.getProductInfo(state.id);
console.log("state.item: ", state.item);
}
return () => (
<div class="ProductDetail">
<h1> - </h1>
<hr />
<p>id{state.id}</p>
{state.item.name}
<ul>
{
Object.entries(state.item).map(([key, value]) =>
<li>{key}: {value}</li>
)
}
</ul>
</div>
)
}
})
// export default defineComponent({
// setup() {
// return () => (
// <div>商品详情</div>
// )
// }
// })

View File

@@ -1,60 +0,0 @@
import {defineComponent, onMounted, reactive} from 'vue'
import {useRouter} from 'vue-router';
import {product} from '@domains/product/di/productModule';
import {ProductType} from '@domains/product/domain/type/ProductType';
interface storeType {
list: Array<ProductType>
}
export default defineComponent({
setup() {
const router = useRouter();
const productService = product.createProductApplicationService();
const state = reactive<storeType>({
list: []
})
onMounted(() => {
loadProductList()
})
const loadProductList = async () => {
state.list = await productService.getProductList();
console.log("state.list: ", state.list);
}
return () => (
<div class="ProductList">
<h1> - 3</h1>
<hr />
<h2>Deno </h2>
<ul>
{
state.list.map(item =>
<li key={item.id} onClick={() => {
router.push({
name: 'ProductDetail',
query: { id: item.id }
});
}}>
{item.id} | {item.name} | ¥{item.price}
</li>
)
}
</ul>
</div>
)
}
})
// export default defineComponent({
// setup() {
// return () => (
// <div>商品列表</div>
// )
// }
// })

View File

@@ -1,11 +0,0 @@
// import './assets/main.css'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App'
createApp(App)
.use(createPinia())
.mount('#app')

View File

@@ -1,3 +0,0 @@
declare module 'shared/infra' {
export const http: any;
}

View File

@@ -1,33 +0,0 @@
{
"extends": "@vue/tsconfig/tsconfig.dom.json",
"include": [
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*",
"src/**/*.tsx",
"src/**/*.vue"
],
"exclude": [
"src/**/__tests__/*"
],
"compilerOptions": {
"verbatimModuleSyntax": false,
"jsx": "preserve",
"jsxImportSource": "vue",
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
"paths": {
"@/*": [
"./src/app/*"
],
"@shared/*": [
"./src/shared/*"
],
"@features/*": [
"./src/features/*"
],
"@domains/*": [
"./src/domains/*"
]
}
}
}

View File

@@ -1,11 +0,0 @@
{
"files": [],
"references": [
{
"path": "./tsconfig.node.json"
},
{
"path": "./tsconfig.app.json"
}
]
}

View File

@@ -1,19 +0,0 @@
{
"extends": "@tsconfig/node22/tsconfig.json",
"include": [
"vite.config.*",
"vitest.config.*",
"cypress.config.*",
"nightwatch.conf.*",
"playwright.config.*",
"eslint.config.*"
],
"compilerOptions": {
"noEmit": true,
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
"module": "ESNext",
"moduleResolution": "Bundler",
"types": ["node"]
}
}

View File

@@ -1,59 +0,0 @@
import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx'
import vueDevTools from 'vite-plugin-vue-devtools'
import federation from '@originjs/vite-plugin-federation';
import { fileURLToPath, URL } from "node:url";
import { nacosRegVitePlugin } from "nacos-federation";
export default defineConfig(async ({ mode }) => {
const env = loadEnv(mode, process.cwd());
return {
base: `/${ env.VITE_SERVER_NAME }/`,
server: {
port: Number(env.VITE_SERVER_PORT),
host: '0.0.0.0',
strictPort: true,
cors: true
},
plugins: [
nacosRegVitePlugin(),
federation({
name: env.VITE_SERVER_NAME,
remotes: {
shared: `http://${ env.VITE_TRAEFIK_ADDRESS }/${ env.VITE_MODEL_SHARED_NAME }/assets/remoteEntry.js`
},
exposes: { // 暴露给主应用的资源(按功能分组)
'./ProductDomain': './src/domains/product/index.ts', // 领域层(实体、服务、接口等)
'./ProductRouter': './src/features/product/router/index.ts' // 商品路由
},
shared: {
vue: { import: false, generate: false, requiredVersion: '^3.5.18' },
'vue-router': { import: false, generate: false, requiredVersion: '^4.0.6' },
pinia: { import: false, generate: false, requiredVersion: '^3.0.3' },
}
}),
vue(),
vueJsx(),
vueDevTools()
],
build: {
target: 'esnext',
cssCodeSplit: true,
rollupOptions: {
output: {
minifyInternalExports: false
}
}
},
resolve: {
alias: {
'@': fileURLToPath(new URL('./src/', import.meta.url)),
'@shared': fileURLToPath(new URL('./src/shared/', import.meta.url)),
'@features': fileURLToPath(new URL('./src/features/', import.meta.url)),
'@domains': fileURLToPath(new URL('./src/domains/', import.meta.url))
},
},
}
});

View File

@@ -1,8 +0,0 @@
# Nacos 配置中心ip:端口
VITE_NACOS_ADDRESS=192.168.31.101:8848
# 注册到 Nacos 的服务名称(微前端模块名称)
VITE_SERVER_NAME=app-shared
# 注册到 Nacos 的端口,也是前端运行的端口
VITE_SERVER_PORT=1333

File diff suppressed because it is too large Load Diff

View File

@@ -1,24 +0,0 @@
{
"name": "app-shared",
"version": "1.0.0",
"description": "",
"keywords": [],
"author": "",
"license": "ISC",
"scripts": {
"dev": "vite",
"dep": "concurrently \"npm run build\" \"npm run preview\"",
"preview": "vite preview --port 1333 --strictPort",
"build": "vite build --watch",
"type-check": "vue-tsc --build"
},
"dependencies": {
"axios": "^1.12.2",
"nacos-federation": "link:../nacos-federation"
},
"devDependencies": {
"@originjs/vite-plugin-federation": "^1.4.1",
"typescript": "~5.8.3",
"vite": "^7.1.6"
}
}

View File

@@ -1,5 +0,0 @@
export class HttpConfig {
public static DevBaseUrl: string = "http://127.0.0.1:3210/api"
public static prodBaseUrl: string = "http://127.0.0.1:3210/api/"
public static apiList: string = ""
}

View File

@@ -1,4 +0,0 @@
export class ThemeConfig {
public static primaryColor: string = '#1890ff'; // 主色调
public static layoutType: 'side' | 'top' = 'side'; // 侧边栏布局
}

View File

@@ -1,2 +0,0 @@
export * from './HttpConfig';
export * from './ThemeConfig';

View File

@@ -1 +0,0 @@
# 临时占位,上传空文件夹,保存文件结构用,后面删除

Some files were not shown because too many files have changed in this diff Show More