From 84c4e8bdc7872b46d5155a7be22151250dc4c236 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=8C=BF?= Date: Tue, 23 Sep 2025 03:26:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20nacos-federation=20?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=EF=BC=8C=E5=AE=9E=E7=8E=B0=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=AF=B7=E6=B1=82=E5=9F=BA=E5=9C=B0=E5=9D=80=E4=BB=8E?= =?UTF-8?q?=20=E9=85=8D=E7=BD=AE=E4=B8=AD=E5=BF=83=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E6=B3=A8=E5=85=A5=E5=88=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../standalone-logs/config-client-request.log | 98 +++++++++++++++++ docker/nacos/standalone-logs/config-dump.log | 32 ++++++ docker/nacos/standalone-logs/config-trace.log | 102 ++++++++++++++++++ docker/traefik/docker-compose.yml | 17 ++- docker/traefik/dynamic.yml | 2 +- docker/traefik/src/config/index.js | 6 +- front-end/app-product/.env.development | 24 +++++ front-end/app-product/.env.production | 5 +- front-end/app-product/src/App.tsx | 2 +- .../src/features/product/router/index.ts | 1 - .../features/product/views/ProductDetail.tsx | 18 ++-- .../features/product/views/ProductList.tsx | 16 +-- front-end/app-shared/.env.development | 11 ++ front-end/app-shared/.env.production | 3 + front-end/app-shared/package.json | 1 + front-end/app-shared/src/config/HttpConfig.ts | 8 +- front-end/app-shared/src/infra/AxiosInfra.ts | 22 ++-- .../app-shared/src/utils/UrlCheckUtils.ts | 4 +- front-end/app-shared/vite.config.ts | 5 +- front-end/main-app/.env.production | 5 +- front-end/main-app/src/app/views/Home.tsx | 1 + .../nacos-federation/src/vite-plugin-nacos.ts | 27 ++++- 22 files changed, 363 insertions(+), 47 deletions(-) diff --git a/docker/nacos/standalone-logs/config-client-request.log b/docker/nacos/standalone-logs/config-client-request.log index e69de29..fd6496b 100644 --- a/docker/nacos/standalone-logs/config-client-request.log +++ b/docker/nacos/standalone-logs/config-client-request.log @@ -0,0 +1,98 @@ +2025-09-23 01:32:49,973|opType: publish | rt: 79ms | status: success | requestIp: fd07:b51a:cc66:d000:0:0:0:1 | dataId: DevBaseUrl | group: DEFAULT_GROUP | tenant: public | md5: d95df047a29e8ba8bd2f8ddd5b0de5d8 +2025-09-23 01:33:42,270|opType: publish | rt: 12ms | status: success | requestIp: fd07:b51a:cc66:d000:0:0:0:1 | dataId: prodBaseUrl | group: DEFAULT_GROUP | tenant: public | md5: 05a3bc870e145610c22935fd73e6fdc8 +2025-09-23 01:42:32,794|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: DevBaseUrl | group: DEFAULT_GROUP | tenant: public | md5: d95df047a29e8ba8bd2f8ddd5b0de5d8 +2025-09-23 01:46:16,457|opType: publish | rt: 14ms | status: success | requestIp: fd07:b51a:cc66:d000:0:0:0:1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:47:04,251|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:48:59,599|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:49:41,925|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:49:50,114|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:55:58,625|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:57:15,815|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:58:11,660|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:58:48,309|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:58:55,114|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:59:04,721|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:59:28,135|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:06:33,721|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:07:11,865|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:08:03,213|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:11:29,450|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:11:59,947|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:13:02,809|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:14:53,128|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:16:10,972|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:18:04,851|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:18:31,314|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:19:53,202|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:20:44,429|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:20:55,485|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:25:50,379|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:29:07,000|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:31:42,590|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:32:44,046|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:33:01,610|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:33:53,394|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:35:01,077|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:40:10,394|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:45:17,695|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:45:17,710|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:45:43,399|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:45:43,421|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:48:21,105|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:48:21,126|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:48:40,966|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:48:40,989|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:49:38,779|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:49:38,797|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:49:46,849|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:51:19,992|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:51:20,011|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:52:00,249|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:52:33,889|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:52:33,911|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:52:41,250|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:52:41,270|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:53:25,759|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:53:25,776|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:56:27,174|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:56:27,193|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:56:33,465|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:56:33,491|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:56:37,670|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 02:56:37,691|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:01:56,224|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:01:56,240|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:04:44,016|opType: get | rt: 4ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:04:44,032|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:04:48,537|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:04:48,560|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:05:05,498|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:05:05,519|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:07:34,074|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:07:34,090|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:07:49,498|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:07:49,517|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:07:52,497|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:07:52,557|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:08:42,914|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:08:47,877|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:09:54,447|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:09:54,467|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:12:28,428|opType: get | rt: 4ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:13:23,045|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:13:23,066|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:13:43,393|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:13:43,412|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:16:37,513|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:16:37,534|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:17:06,783|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:17:06,805|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:17:22,159|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:17:22,183|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:17:30,946|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:17:30,966|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:18:29,649|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:18:29,671|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 03:19:02,603|opType: publish | rt: 87ms | status: success | requestIp: fd07:b51a:cc66:d000:0:0:0:1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: c8b41bfbe4647c7cd5f4f7a802f4ce7d +2025-09-23 03:19:17,149|opType: get | rt: 1ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: c8b41bfbe4647c7cd5f4f7a802f4ce7d +2025-09-23 03:19:17,168|opType: get | rt: 0ms | status: success | requestIp: 192.168.97.1 | dataId: baseUrl | group: DEFAULT_GROUP | tenant: public | md5: c8b41bfbe4647c7cd5f4f7a802f4ce7d diff --git a/docker/nacos/standalone-logs/config-dump.log b/docker/nacos/standalone-logs/config-dump.log index e69de29..a097ad2 100644 --- a/docker/nacos/standalone-logs/config-dump.log +++ b/docker/nacos/standalone-logs/config-dump.log @@ -0,0 +1,32 @@ +2025-09-23 01:32:49,970 INFO [dump] add formal task. groupKey=DevBaseUrl+DEFAULT_GROUP+public + +2025-09-23 01:32:49,996 INFO [dump] process formal task. groupKey=DevBaseUrl+DEFAULT_GROUP+public + +2025-09-23 01:32:50,082 INFO [dump] md5 changed, save to disk cache ,groupKey=DevBaseUrl+DEFAULT_GROUP+public, newMd5=d95df047a29e8ba8bd2f8ddd5b0de5d8,oldMd5= + +2025-09-23 01:32:50,104 INFO [dump] md5 changed, update md5 and timestamp in jvm cache ,groupKey=DevBaseUrl+DEFAULT_GROUP+public, newMd5=d95df047a29e8ba8bd2f8ddd5b0de5d8,oldMd5=,lastModifiedTs=1758562369951 + +2025-09-23 01:33:42,269 INFO [dump] add formal task. groupKey=prodBaseUrl+DEFAULT_GROUP+public + +2025-09-23 01:33:42,293 INFO [dump] process formal task. groupKey=prodBaseUrl+DEFAULT_GROUP+public + +2025-09-23 01:33:42,298 INFO [dump] md5 changed, save to disk cache ,groupKey=prodBaseUrl+DEFAULT_GROUP+public, newMd5=05a3bc870e145610c22935fd73e6fdc8,oldMd5= + +2025-09-23 01:33:42,298 INFO [dump] md5 changed, update md5 and timestamp in jvm cache ,groupKey=prodBaseUrl+DEFAULT_GROUP+public, newMd5=05a3bc870e145610c22935fd73e6fdc8,oldMd5=,lastModifiedTs=1758562422265 + +2025-09-23 01:46:16,458 INFO [dump] add formal task. groupKey=baseUrl+DEFAULT_GROUP+public + +2025-09-23 01:46:16,547 INFO [dump] process formal task. groupKey=baseUrl+DEFAULT_GROUP+public + +2025-09-23 01:46:16,617 INFO [dump] md5 changed, save to disk cache ,groupKey=baseUrl+DEFAULT_GROUP+public, newMd5=ba8fab5986a1ef56ad6fae900e3c96be,oldMd5= + +2025-09-23 01:46:16,621 INFO [dump] md5 changed, update md5 and timestamp in jvm cache ,groupKey=baseUrl+DEFAULT_GROUP+public, newMd5=ba8fab5986a1ef56ad6fae900e3c96be,oldMd5=,lastModifiedTs=1758563176453 + +2025-09-23 03:19:02,602 INFO [dump] add formal task. groupKey=baseUrl+DEFAULT_GROUP+public + +2025-09-23 03:19:02,672 INFO [dump] process formal task. groupKey=baseUrl+DEFAULT_GROUP+public + +2025-09-23 03:19:02,673 INFO [dump] md5 changed, save to disk cache ,groupKey=baseUrl+DEFAULT_GROUP+public, newMd5=c8b41bfbe4647c7cd5f4f7a802f4ce7d,oldMd5=ba8fab5986a1ef56ad6fae900e3c96be + +2025-09-23 03:19:02,674 INFO [dump] md5 changed, update md5 and timestamp in jvm cache ,groupKey=baseUrl+DEFAULT_GROUP+public, newMd5=c8b41bfbe4647c7cd5f4f7a802f4ce7d,oldMd5=ba8fab5986a1ef56ad6fae900e3c96be,lastModifiedTs=1758568742591 + diff --git a/docker/nacos/standalone-logs/config-trace.log b/docker/nacos/standalone-logs/config-trace.log index e69de29..d90b94a 100644 --- a/docker/nacos/standalone-logs/config-trace.log +++ b/docker/nacos/standalone-logs/config-trace.log @@ -0,0 +1,102 @@ +2025-09-23 01:32:49,969|8e5a20eec60e|DevBaseUrl|DEFAULT_GROUP|public|null|1758562369951|8e5a20eec60e|persist|pub|-1|d95df047a29e8ba8bd2f8ddd5b0de5d8 +2025-09-23 01:32:50,107|8e5a20eec60e|DevBaseUrl|DEFAULT_GROUP|public|null|1758562369951|192.168.97.3|dump|ok|155|25 +2025-09-23 01:33:42,270|8e5a20eec60e|prodBaseUrl|DEFAULT_GROUP|public|null|1758562422265|8e5a20eec60e|persist|pub|-1|05a3bc870e145610c22935fd73e6fdc8 +2025-09-23 01:33:42,299|8e5a20eec60e|prodBaseUrl|DEFAULT_GROUP|public|null|1758562422265|192.168.97.3|dump|ok|34|26 +2025-09-23 01:42:32,795|8e5a20eec60e|DevBaseUrl|DEFAULT_GROUP|public|null|1758562369951|pull|ok|582844|192.168.97.1|false|http +2025-09-23 01:46:16,457|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|8e5a20eec60e|persist|pub|-1|ba8fab5986a1ef56ad6fae900e3c96be +2025-09-23 01:46:16,621|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|192.168.97.3|dump|ok|168|102 +2025-09-23 01:47:04,251|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|47798|192.168.97.1|false|http +2025-09-23 01:48:59,600|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|163146|192.168.97.1|false|http +2025-09-23 01:49:41,925|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|205472|192.168.97.1|false|http +2025-09-23 01:49:50,114|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|213661|192.168.97.1|false|http +2025-09-23 01:55:58,625|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|582172|192.168.97.1|false|http +2025-09-23 01:57:15,815|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|659362|192.168.97.1|false|http +2025-09-23 01:58:11,660|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|715207|192.168.97.1|false|http +2025-09-23 01:58:48,309|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|751856|192.168.97.1|false|http +2025-09-23 01:58:55,114|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|758661|192.168.97.1|false|http +2025-09-23 01:59:04,721|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|768268|192.168.97.1|false|http +2025-09-23 01:59:28,136|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|791683|192.168.97.1|false|http +2025-09-23 02:06:33,721|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1217268|192.168.97.1|false|http +2025-09-23 02:07:11,865|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1255412|192.168.97.1|false|http +2025-09-23 02:08:03,213|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1306760|192.168.97.1|false|http +2025-09-23 02:11:29,450|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1512997|192.168.97.1|false|http +2025-09-23 02:11:59,947|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1543494|192.168.97.1|false|http +2025-09-23 02:13:02,810|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1606357|192.168.97.1|false|http +2025-09-23 02:14:53,129|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1716676|192.168.97.1|false|http +2025-09-23 02:16:10,972|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1794519|192.168.97.1|false|http +2025-09-23 02:18:04,851|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1908398|192.168.97.1|false|http +2025-09-23 02:18:31,314|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|1934861|192.168.97.1|false|http +2025-09-23 02:19:53,202|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2016749|192.168.97.1|false|http +2025-09-23 02:20:44,429|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2067976|192.168.97.1|false|http +2025-09-23 02:20:55,485|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2079032|192.168.97.1|false|http +2025-09-23 02:25:50,379|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2373926|192.168.97.1|false|http +2025-09-23 02:29:07,000|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2570547|192.168.97.1|false|http +2025-09-23 02:31:42,590|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2726137|192.168.97.1|false|http +2025-09-23 02:32:44,046|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2787593|192.168.97.1|false|http +2025-09-23 02:33:01,610|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2805157|192.168.97.1|false|http +2025-09-23 02:33:53,394|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2856941|192.168.97.1|false|http +2025-09-23 02:35:01,077|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|2924624|192.168.97.1|false|http +2025-09-23 02:40:10,394|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3233941|192.168.97.1|false|http +2025-09-23 02:45:17,695|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3541242|192.168.97.1|false|http +2025-09-23 02:45:17,711|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3541257|192.168.97.1|false|http +2025-09-23 02:45:43,399|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3566946|192.168.97.1|false|http +2025-09-23 02:45:43,422|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3566969|192.168.97.1|false|http +2025-09-23 02:48:21,106|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3724653|192.168.97.1|false|http +2025-09-23 02:48:21,126|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3724673|192.168.97.1|false|http +2025-09-23 02:48:40,966|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3744513|192.168.97.1|false|http +2025-09-23 02:48:40,990|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3744537|192.168.97.1|false|http +2025-09-23 02:49:38,780|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3802326|192.168.97.1|false|http +2025-09-23 02:49:38,797|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3802344|192.168.97.1|false|http +2025-09-23 02:49:46,849|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3810396|192.168.97.1|false|http +2025-09-23 02:51:19,992|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3903539|192.168.97.1|false|http +2025-09-23 02:51:20,011|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3903558|192.168.97.1|false|http +2025-09-23 02:52:00,249|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3943796|192.168.97.1|false|http +2025-09-23 02:52:33,889|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3977436|192.168.97.1|false|http +2025-09-23 02:52:33,911|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3977458|192.168.97.1|false|http +2025-09-23 02:52:41,250|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3984797|192.168.97.1|false|http +2025-09-23 02:52:41,270|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|3984817|192.168.97.1|false|http +2025-09-23 02:53:25,759|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4029306|192.168.97.1|false|http +2025-09-23 02:53:25,776|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4029323|192.168.97.1|false|http +2025-09-23 02:56:27,175|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4210722|192.168.97.1|false|http +2025-09-23 02:56:27,193|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4210740|192.168.97.1|false|http +2025-09-23 02:56:33,465|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4217012|192.168.97.1|false|http +2025-09-23 02:56:33,491|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4217038|192.168.97.1|false|http +2025-09-23 02:56:37,670|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4221217|192.168.97.1|false|http +2025-09-23 02:56:37,691|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4221238|192.168.97.1|false|http +2025-09-23 03:01:56,224|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4539771|192.168.97.1|false|http +2025-09-23 03:01:56,240|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4539787|192.168.97.1|false|http +2025-09-23 03:04:44,016|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4707563|192.168.97.1|false|http +2025-09-23 03:04:44,033|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4707579|192.168.97.1|false|http +2025-09-23 03:04:48,537|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4712084|192.168.97.1|false|http +2025-09-23 03:04:48,560|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4712107|192.168.97.1|false|http +2025-09-23 03:05:05,498|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4729045|192.168.97.1|false|http +2025-09-23 03:05:05,519|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4729066|192.168.97.1|false|http +2025-09-23 03:07:34,074|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4877621|192.168.97.1|false|http +2025-09-23 03:07:34,090|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4877637|192.168.97.1|false|http +2025-09-23 03:07:49,499|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4893046|192.168.97.1|false|http +2025-09-23 03:07:49,517|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4893064|192.168.97.1|false|http +2025-09-23 03:07:52,497|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4896044|192.168.97.1|false|http +2025-09-23 03:07:52,557|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4896104|192.168.97.1|false|http +2025-09-23 03:08:42,914|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4946461|192.168.97.1|false|http +2025-09-23 03:08:47,877|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|4951424|192.168.97.1|false|http +2025-09-23 03:09:54,447|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5017994|192.168.97.1|false|http +2025-09-23 03:09:54,467|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5018014|192.168.97.1|false|http +2025-09-23 03:12:28,430|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5171977|192.168.97.1|false|http +2025-09-23 03:13:23,045|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5226592|192.168.97.1|false|http +2025-09-23 03:13:23,066|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5226613|192.168.97.1|false|http +2025-09-23 03:13:43,393|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5246940|192.168.97.1|false|http +2025-09-23 03:13:43,412|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5246959|192.168.97.1|false|http +2025-09-23 03:16:37,514|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5421061|192.168.97.1|false|http +2025-09-23 03:16:37,534|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5421081|192.168.97.1|false|http +2025-09-23 03:17:06,783|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5450330|192.168.97.1|false|http +2025-09-23 03:17:06,805|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5450352|192.168.97.1|false|http +2025-09-23 03:17:22,159|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5465706|192.168.97.1|false|http +2025-09-23 03:17:22,183|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5465730|192.168.97.1|false|http +2025-09-23 03:17:30,946|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5474493|192.168.97.1|false|http +2025-09-23 03:17:30,966|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5474513|192.168.97.1|false|http +2025-09-23 03:18:29,650|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5533197|192.168.97.1|false|http +2025-09-23 03:18:29,671|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758563176453|pull|ok|5533218|192.168.97.1|false|http +2025-09-23 03:19:02,602|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758568742591|8e5a20eec60e|persist|pub|-1|c8b41bfbe4647c7cd5f4f7a802f4ce7d +2025-09-23 03:19:02,675|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758568742591|192.168.97.3|dump|ok|84|97 +2025-09-23 03:19:17,149|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758568742591|pull|ok|14558|192.168.97.1|false|http +2025-09-23 03:19:17,168|8e5a20eec60e|baseUrl|DEFAULT_GROUP|public|null|1758568742591|pull|ok|14577|192.168.97.1|false|http diff --git a/docker/traefik/docker-compose.yml b/docker/traefik/docker-compose.yml index 0d4f0f0..9a58fb0 100644 --- a/docker/traefik/docker-compose.yml +++ b/docker/traefik/docker-compose.yml @@ -4,7 +4,12 @@ services: traefik: image: traefik:v3.0 container_name: traefik - network_mode: "host" # 主机网络模式 + networks: + - traefik-net + ports: + - "80:80" + - "8080:8080" + # network_mode: "host" # 主机网络模式 volumes: - ./traefik.yml:/etc/traefik/traefik.yml - ./dynamic.yml:/etc/traefik/dynamic.yml # 动态配置文件 @@ -16,9 +21,15 @@ services: privileged: true image: node:24.8.0-alpine3.21 container_name: nacos-watcher - network_mode: "host" + # network_mode: "host" + networks: + - traefik-net working_dir: /app volumes: - ./:/app # 挂载当前目录到容器 command: sh -c "npm install && node src/index.js" - restart: always \ No newline at end of file + restart: always + +networks: + traefik-net: + driver: bridge diff --git a/docker/traefik/dynamic.yml b/docker/traefik/dynamic.yml index 670444c..7298116 100644 --- a/docker/traefik/dynamic.yml +++ b/docker/traefik/dynamic.yml @@ -61,7 +61,7 @@ http: ipWhiteList: sourceRange: - 127.0.0.1/32 - - 192.168.31.0/24 + - 192.168.107.0/24 retries: retry: attempts: 3 diff --git a/docker/traefik/src/config/index.js b/docker/traefik/src/config/index.js index 2b5f0ba..7da37b2 100644 --- a/docker/traefik/src/config/index.js +++ b/docker/traefik/src/config/index.js @@ -18,7 +18,7 @@ module.exports = { traefikConfig: { middlewaresStr: ['compress', 'ipWhiteList', 'rateLimit', 'retries'], middlewaresConfig: { - // 限流中间件(独立配置,关键修复) + // 限流中间件 rateLimit: { rateLimit: { average: 100, @@ -36,10 +36,10 @@ module.exports = { minResponseBodyBytes: 1024 } }, - // IP白名单中间件(示例:允许本地和192.168.31网段) + // IP白名单中间件 ipWhiteList: { ipWhiteList: { - sourceRange: ['127.0.0.1/32', '192.168.31.0/24'] + sourceRange: ['127.0.0.1/32', '192.168.107.0/24'] } }, // // 重定向中间件(HTTP→HTTPS) diff --git a/front-end/app-product/.env.development b/front-end/app-product/.env.development index e69de29..fe59ddd 100644 --- a/front-end/app-product/.env.development +++ b/front-end/app-product/.env.development @@ -0,0 +1,24 @@ +# 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 + + + diff --git a/front-end/app-product/.env.production b/front-end/app-product/.env.production index 4152e26..fe59ddd 100644 --- a/front-end/app-product/.env.production +++ b/front-end/app-product/.env.production @@ -18,4 +18,7 @@ VITE_SERVER_PORT=1301 # # shared 共享资源模块 -VITE_MODEL_SHARED_NAME=app-shared \ No newline at end of file +VITE_MODEL_SHARED_NAME=app-shared + + + diff --git a/front-end/app-product/src/App.tsx b/front-end/app-product/src/App.tsx index db8b7df..ea9b3f3 100644 --- a/front-end/app-product/src/App.tsx +++ b/front-end/app-product/src/App.tsx @@ -1,4 +1,4 @@ -import {defineComponent} from 'vue' +import { defineComponent } from 'vue' export default defineComponent({ setup() { diff --git a/front-end/app-product/src/features/product/router/index.ts b/front-end/app-product/src/features/product/router/index.ts index 71596a9..64eb8a4 100644 --- a/front-end/app-product/src/features/product/router/index.ts +++ b/front-end/app-product/src/features/product/router/index.ts @@ -1,6 +1,5 @@ import { RouteRecordRaw } from 'vue-router'; - export const productRouter: Array = [ { path: '/Products', diff --git a/front-end/app-product/src/features/product/views/ProductDetail.tsx b/front-end/app-product/src/features/product/views/ProductDetail.tsx index f715f36..8c6c3ef 100644 --- a/front-end/app-product/src/features/product/views/ProductDetail.tsx +++ b/front-end/app-product/src/features/product/views/ProductDetail.tsx @@ -1,7 +1,7 @@ -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' +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 @@ -36,13 +36,13 @@ export default defineComponent({ return () => (

商品领域模块 - 商品详情页面

-
-

商品id:{state.id}

- {state.item.name} +
+

商品id:{ state.id }

+ { state.item.name }
    { - Object.entries(state.item).map(([key, value]) => -
  • {key}: {value}
  • + Object.entries(state.item).map(([ key, value ]) => +
  • { key }: { value }
  • ) }
diff --git a/front-end/app-product/src/features/product/views/ProductList.tsx b/front-end/app-product/src/features/product/views/ProductList.tsx index b8618e8..313658e 100644 --- a/front-end/app-product/src/features/product/views/ProductList.tsx +++ b/front-end/app-product/src/features/product/views/ProductList.tsx @@ -1,7 +1,7 @@ -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'; +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 @@ -30,18 +30,18 @@ export default defineComponent({ return () => (

商品领域模块 - 商品列表页面3

-
+

从Deno 后端 加载的数据,点击进详情

    { state.list.map(item => -
  • { +
  • { router.push({ name: 'ProductDetail', query: { id: item.id } }); - }}> - {item.id} | {item.name} | ¥{item.price} + } }> + { item.id } | { item.name } | ¥{ item.price }
  • ) } diff --git a/front-end/app-shared/.env.development b/front-end/app-shared/.env.development index e69de29..9db7b8a 100644 --- a/front-end/app-shared/.env.development +++ b/front-end/app-shared/.env.development @@ -0,0 +1,11 @@ +# Nacos 配置中心ip:端口 +VITE_NACOS_ADDRESS=192.168.31.101:8848 + +# traefik 网关的地址 +VITE_TRAEFIK_ADDRESS=192.168.31.101 + +# 注册到 Nacos 的服务名称(微前端模块名称) +VITE_SERVER_NAME=app-shared + +# 注册到 Nacos 的端口,也是前端运行的端口 +VITE_SERVER_PORT=1333 diff --git a/front-end/app-shared/.env.production b/front-end/app-shared/.env.production index 43da275..9db7b8a 100644 --- a/front-end/app-shared/.env.production +++ b/front-end/app-shared/.env.production @@ -1,6 +1,9 @@ # Nacos 配置中心ip:端口 VITE_NACOS_ADDRESS=192.168.31.101:8848 +# traefik 网关的地址 +VITE_TRAEFIK_ADDRESS=192.168.31.101 + # 注册到 Nacos 的服务名称(微前端模块名称) VITE_SERVER_NAME=app-shared diff --git a/front-end/app-shared/package.json b/front-end/app-shared/package.json index 376d537..a4647bf 100644 --- a/front-end/app-shared/package.json +++ b/front-end/app-shared/package.json @@ -17,6 +17,7 @@ "nacos-federation": "link:../nacos-federation" }, "devDependencies": { + "@vitejs/plugin-vue": "^6.0.1", "@originjs/vite-plugin-federation": "^1.4.1", "typescript": "~5.8.3", "vite": "^7.1.6" diff --git a/front-end/app-shared/src/config/HttpConfig.ts b/front-end/app-shared/src/config/HttpConfig.ts index f97ad57..4c59ae7 100644 --- a/front-end/app-shared/src/config/HttpConfig.ts +++ b/front-end/app-shared/src/config/HttpConfig.ts @@ -1,5 +1,9 @@ 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 DevBaseUrl: string = "http://127.0.0.1:3210/api" + public static DevBaseUrl: string = import.meta.env.VITE_DEVBASEURL + + // public static ProdBaseUrl: string = "http://127.0.0.1:3210/api/" + public static ProdBaseUrl: string = import.meta.env.VITE_PRODBASEURL + public static apiList: string = "" } diff --git a/front-end/app-shared/src/infra/AxiosInfra.ts b/front-end/app-shared/src/infra/AxiosInfra.ts index 8cae3f5..fe47210 100644 --- a/front-end/app-shared/src/infra/AxiosInfra.ts +++ b/front-end/app-shared/src/infra/AxiosInfra.ts @@ -1,5 +1,5 @@ -import axios, {AxiosError, type AxiosInstance, type AxiosRequestConfig} from "axios"; -import {UrlCheckUtils} from '../utils/index' +import axios, { AxiosError, type AxiosInstance, type AxiosRequestConfig } from "axios"; +import { UrlCheckUtils } from '../utils/index' class AxiosInfra { @@ -32,7 +32,7 @@ class AxiosInfra { /** * Put 请求 - * 请求参数请参考接口:RequestParams + * 请求参数请参考接口:RequestParams * @param params */ public async put(params: AxiosRequestConfig): Promise { @@ -41,7 +41,7 @@ class AxiosInfra { /** * delete 请求 - * 请求参数请参考接口:RequestParams + * 请求参数请参考接口:RequestParams * @param params */ public async delete(params: AxiosRequestConfig): Promise { @@ -60,16 +60,16 @@ class AxiosInfra { (error: AxiosError) => { console.log(` ❌ 请求错误 ❌ - 1、基地址: ${error.config?.baseURL} - 2、短地址: ${error.config?.url} - 3、请求 方式: ${error.config?.method} - 4、请求 参数: ${JSON.stringify(error.config?.params)} - 5、请求 头 : ${JSON.stringify(error.config?.headers)} + 1、基地址: ${ error.config?.baseURL } + 2、短地址: ${ error.config?.url } + 3、请求 方式: ${ error.config?.method } + 4、请求 参数: ${ JSON.stringify(error.config?.params) } + 5、请求 头 : ${ JSON.stringify(error.config?.headers) } ------------------------------------------------------------ - 6、错误信息为: ${error.message} - 7、错误代码为: ${error.stack} + 6、错误信息为: ${ error.message } + 7、错误代码为: ${ error.stack } `); return Promise.reject(error) }) diff --git a/front-end/app-shared/src/utils/UrlCheckUtils.ts b/front-end/app-shared/src/utils/UrlCheckUtils.ts index e4fe6f1..e918832 100644 --- a/front-end/app-shared/src/utils/UrlCheckUtils.ts +++ b/front-end/app-shared/src/utils/UrlCheckUtils.ts @@ -1,10 +1,10 @@ -import {HttpConfig} from '../config' +import { HttpConfig } from '../config' export class UrlCheckUtils { public static check() { if (import.meta.env.MODE === 'production') { - return HttpConfig.prodBaseUrl; + return HttpConfig.ProdBaseUrl; } else { return HttpConfig.DevBaseUrl; } diff --git a/front-end/app-shared/vite.config.ts b/front-end/app-shared/vite.config.ts index fbe36cd..21d8728 100644 --- a/front-end/app-shared/vite.config.ts +++ b/front-end/app-shared/vite.config.ts @@ -1,6 +1,8 @@ import { defineConfig, loadEnv, UserConfig } from 'vite' import federation from "@originjs/vite-plugin-federation"; import { nacosRegVitePlugin } from "nacos-federation"; +// @ts-ignore +import vue from '@vitejs/plugin-vue'; export default defineConfig(async ({ mode }): Promise => { const env = loadEnv(mode, process.cwd()); @@ -25,7 +27,8 @@ export default defineConfig(async ({ mode }): Promise => { shared: { axios: { requiredVersion: '^1.12.2' } } - }) + }), + vue() ], build: { target: 'esnext', diff --git a/front-end/main-app/.env.production b/front-end/main-app/.env.production index 9841d38..5500730 100644 --- a/front-end/main-app/.env.production +++ b/front-end/main-app/.env.production @@ -1,5 +1,8 @@ # Nacos 配置中心ip:端口 -VITE_NACOS_ADDRESS=192.168.31.100:8848 +VITE_NACOS_ADDRESS=192.168.31.101:8848 + +# traefik 网关的地址 +VITE_TRAEFIK_ADDRESS=192.168.31.101 # 注册到 Nacos 的服务名称(微前端模块名称) VITE_SERVER_NAME=main-app diff --git a/front-end/main-app/src/app/views/Home.tsx b/front-end/main-app/src/app/views/Home.tsx index d6d4bb4..a48bd79 100644 --- a/front-end/main-app/src/app/views/Home.tsx +++ b/front-end/main-app/src/app/views/Home.tsx @@ -36,6 +36,7 @@ export default class Home extends Vue { // this.router.push({ name: 'about' }) // this.route.query + this.counter++ } diff --git a/front-end/nacos-federation/src/vite-plugin-nacos.ts b/front-end/nacos-federation/src/vite-plugin-nacos.ts index 7e4d3a3..fe89818 100644 --- a/front-end/nacos-federation/src/vite-plugin-nacos.ts +++ b/front-end/nacos-federation/src/vite-plugin-nacos.ts @@ -1,4 +1,4 @@ -import { Plugin, ResolvedConfig } from 'vite'; +import { Plugin } from 'vite'; import { nacosServiceManage, RegisterOptions } from './nacosServiceManage'; export function nacosRegVitePlugin(options?: Partial): Plugin { @@ -6,11 +6,19 @@ export function nacosRegVitePlugin(options?: Partial): Plugin { return { name: 'vite-plugin-nacos', - async configResolved(config: ResolvedConfig) { + async configResolved(config) { + + // 安全检查:确保 config.define 存在 + if (!config.define) { + // @ts-ignore + config.define = {}; + } + console.log("config.define: ", config.define) + // 从环境变量和配置中获取Nacos配置(环境变量优先级更高) const env = config.env; - console.log("you env: ", env) + const registerOptions: RegisterOptions = { serverList: env.VITE_NACOS_ADDRESS || options?.serverList!, serviceName: env.VITE_SERVER_NAME || options?.serviceName!, @@ -33,6 +41,19 @@ export function nacosRegVitePlugin(options?: Partial): Plugin { // 初始化Nacos实例 nacosInstance = await nacosServiceManage.create(registerOptions); + const baseUrl = await nacosInstance.configClient.getConfig("baseUrl", "DEFAULT_GROUP") + const baseUrlConfig = baseUrl ? JSON.parse(baseUrl) : {}; + console.log("[vite-plugin-nacos] 从Nacos配置发现获得接口地址: ", baseUrlConfig) + + + const customizeEnv: Record = {}; + Object.keys(baseUrlConfig).forEach(key => { + const envKey = `import.meta.env.VITE_${ key.toUpperCase() }`; + customizeEnv[envKey] = JSON.stringify(baseUrlConfig[key]); + }); + + // @ts-ignore + Object.assign(config.define, customizeEnv); }, async closeBundle() { // // 服务关闭时注销Nacos实例