From dbc5f96768d01af0c154b3207e9ff8e7ccacf6b1 Mon Sep 17 00:00:00 2001 From: huangyujie <27665451@qq.com> Date: Tue, 24 Mar 2026 14:47:03 +0800 Subject: [PATCH] =?UTF-8?q?chore(erp-api):=20=E9=BB=98=E8=AE=A4=E5=85=B3?= =?UTF-8?q?=E9=97=AD=20Nacos=EF=BC=8C=E4=BD=BF=E7=94=A8=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=20application.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - bootstrap 固定 config/discovery enabled=false - README 说明 UAT 用启动参数开启及环境变量覆盖注意 - 作者: guochengyu Made-with: Cursor --- api/erp-api/src/main/resources/bootstrap.yml | 17 ++++----- .../src/main/resources/nacos/README.md | 37 +++++++++++-------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/api/erp-api/src/main/resources/bootstrap.yml b/api/erp-api/src/main/resources/bootstrap.yml index cdb26946..cc39d1c8 100644 --- a/api/erp-api/src/main/resources/bootstrap.yml +++ b/api/erp-api/src/main/resources/bootstrap.yml @@ -1,7 +1,10 @@ # 先于 application 加载(父模块已引入 spring-cloud-starter-bootstrap) # -# 【本地无 Nacos】默认不连 Nacos:不设环境变量即可,仅用 jar 内 application.yml 启动。 -# 【UAT/K8s】请设置:NACOS_CONFIG_ENABLED=true、NACOS_DISCOVERY_ENABLED=true、NACOS_SERVER_ADDR +# 【默认】Nacos 关闭,仅使用 jar 内 application.yml(及同目录本地配置)。 +# 【UAT/K8s 需 Nacos】启动参数覆盖即可,例如: +# --spring.cloud.nacos.config.enabled=true +# --spring.cloud.nacos.discovery.enabled=true +# 并配置 NACOS_SERVER_ADDR、NACOS_NAMESPACE 等(或通过 spring.cloud.nacos.* 写入同环境专用 yml)。 # # maindata 通过注册中心调用时:Feign / LoadBalancer 服务名 = spring.application.name = erp-api @@ -11,36 +14,32 @@ spring: cloud: nacos: discovery: - # 与 Nacos Config 解耦:仅注册发现时可 true + CONFIG_ENABLED false(一般 UAT 两者同开) - enabled: ${NACOS_DISCOVERY_ENABLED:false} + # 固定关闭;与 UAT 共用代码时请在启动命令行打开并配 server-addr + enabled: false server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} namespace: ${NACOS_NAMESPACE:hbxhzt-test} group: ${NACOS_DISCOVERY_GROUP:DEFAULT_GROUP} username: ${NACOS_USERNAME:} password: ${NACOS_PASSWORD:} - # UAT 默认 true;仅拉配置不注册时可设 NACOS_REGISTER_ENABLED=false register-enabled: ${NACOS_REGISTER_ENABLED:true} heart-beat-interval: 5000 heart-beat-timeout: 15000 ip-delete-timeout: 30000 config: - enabled: ${NACOS_CONFIG_ENABLED:false} + enabled: false server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} namespace: ${NACOS_NAMESPACE:hbxhzt-test} group: ${NACOS_CONFIG_GROUP:DEFAULT_GROUP} file-extension: yaml username: ${NACOS_USERNAME:} password: ${NACOS_PASSWORD:} - # 本地无 Nacos 时 false,不阻塞启动;UAT 建议 true,避免误用空配置 fail-fast: ${NACOS_CONFIG_FAIL_FAST:false} refresh-enabled: true - # 与 Yunxi 其他工程一致:共享 yundt-cube-common.yaml(仅当 NACOS_CONFIG_ENABLED=true 时拉取) shared-configs: - data-id: yundt-cube-common.yaml group: DEFAULT_GROUP refresh: true -# 与 Yunxi 工程一致,压低 Nacos 客户端日志量 logging: level: com.alibaba.nacos: ERROR diff --git a/api/erp-api/src/main/resources/nacos/README.md b/api/erp-api/src/main/resources/nacos/README.md index 8c851891..85b730b2 100644 --- a/api/erp-api/src/main/resources/nacos/README.md +++ b/api/erp-api/src/main/resources/nacos/README.md @@ -2,22 +2,31 @@ 与 Yunxi 工程(如 `yundt-boot-center-maindata-aggboot`)对齐:**命名空间 `hbxhzt-test`**、共享 **`yundt-cube-common.yaml`**、**服务注册名 `erp-api`**(供 maindata Feign 调用)。 -## 本地无 Nacos 启动 +## 本地 / 默认启动(当前仓库约定) -**不要设置** `NACOS_CONFIG_ENABLED` / `NACOS_DISCOVERY_ENABLED`(或显式设为 `false`),则不会连接 Nacos,仅使用 jar 内 **`application.yml`**。 +**`bootstrap.yml` 中已将 Nacos Config 与 Discovery 固定为 `enabled: false`**,不连 Nacos,仅使用 **`application.yml`**(及 classpath 下其它本地配置)。 -## UAT / K8s 建议环境变量 +注意:若进程环境中存在 **`SPRING_CLOUD_NACOS_CONFIG_ENABLED=true`** 或 **`SPRING_CLOUD_NACOS_DISCOVERY_ENABLED=true`**(Spring 标准绑定),会**覆盖** yml 仍为开启;本地纯配置时请删除上述变量或设为 `false`。旧版脚本若曾使用 `NACOS_CONFIG_ENABLED`,请改为不再导出或对齐 Spring 变量名。 -| 变量 | 值 | 说明 | -|------|-----|------| -| `NACOS_CONFIG_ENABLED` | `true` | 拉取 Nacos 配置 | -| `NACOS_DISCOVERY_ENABLED` | `true` | 注册到 Nacos,供 maindata 发现 | -| `NACOS_SERVER_ADDR` | `nacos-headless.hbxhzt-test.svc:8848` | 按集群实际修改 | -| `NACOS_NAMESPACE` | `hbxhzt-test` | 与控制台命名空间一致(默认已写进 bootstrap) | -| `NACOS_CONFIG_FAIL_FAST` | `true` | UAT 建议:Nacos 不可达或缺配置时快速失败 | -| `NACOS_USERNAME` / `NACOS_PASSWORD` | 按需 | Nacos 开启鉴权时 | +## UAT / K8s 启用 Nacos -可选:`NACOS_REGISTER_ENABLED=false` 仅拉配置不注册(一般与 maindata 联调时保持注册)。 +在启动命令中**显式打开**(覆盖 bootstrap 中的 false),例如: + +```text +--spring.cloud.nacos.config.enabled=true +--spring.cloud.nacos.discovery.enabled=true +``` + +并设置: + +| 变量 / 配置 | 说明 | +|-------------|------| +| `NACOS_SERVER_ADDR` | 如 `nacos-headless.hbxhzt-test.svc:8848` | +| `NACOS_NAMESPACE` | 与控制台一致,默认 `hbxhzt-test` | +| `NACOS_CONFIG_FAIL_FAST` | UAT 建议 `true` | +| `NACOS_USERNAME` / `NACOS_PASSWORD` | Nacos 开启鉴权时 | + +可选:`NACOS_REGISTER_ENABLED=false` 仅拉配置不注册。 ## 上传 `erp-api.yaml` @@ -35,7 +44,3 @@ - **端口**:`38083`(在 `erp-api.yaml` 的 `server.port` 中配置)。 - **HTTP 路径**:例如 `/external/goods/upsert`;若经网关,按网关路由配置。 - **鉴权**:`/external/**` 仍为 AK/SK 签名,与 `external.auth` 及 maindata 侧密钥一致。 - -## 与 maindata `application-local` 类比 - -maindata 本地常用 `spring.cloud.nacos.discovery.register-enabled: false`;erp-api 通过 **不设 UAT 环境变量** 实现等价效果(完全不连 Nacos)。