chore(erp-api): 默认关闭 Nacos,使用本地 application.yml

- bootstrap 固定 config/discovery enabled=false
- README 说明 UAT 用启动参数开启及环境变量覆盖注意
- 作者: guochengyu

Made-with: Cursor
This commit is contained in:
huangyujie 2026-03-24 14:47:03 +08:00
parent 986b0ddeef
commit dbc5f96768
2 changed files with 29 additions and 25 deletions

View File

@ -1,7 +1,10 @@
# 先于 application 加载(父模块已引入 spring-cloud-starter-bootstrap # 先于 application 加载(父模块已引入 spring-cloud-starter-bootstrap
# #
# 【本地无 Nacos】默认不连 Nacos不设环境变量即可仅用 jar 内 application.yml 启动。 # 【默认】Nacos 关闭,仅使用 jar 内 application.yml及同目录本地配置
# 【UAT/K8s】请设置NACOS_CONFIG_ENABLED=true、NACOS_DISCOVERY_ENABLED=true、NACOS_SERVER_ADDR # 【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 # maindata 通过注册中心调用时Feign / LoadBalancer 服务名 = spring.application.name = erp-api
@ -11,36 +14,32 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
# 与 Nacos Config 解耦:仅注册发现时可 true + CONFIG_ENABLED false一般 UAT 两者同开) # 固定关闭;与 UAT 共用代码时请在启动命令行打开并配 server-addr
enabled: ${NACOS_DISCOVERY_ENABLED:false} enabled: false
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848}
namespace: ${NACOS_NAMESPACE:hbxhzt-test} namespace: ${NACOS_NAMESPACE:hbxhzt-test}
group: ${NACOS_DISCOVERY_GROUP:DEFAULT_GROUP} group: ${NACOS_DISCOVERY_GROUP:DEFAULT_GROUP}
username: ${NACOS_USERNAME:} username: ${NACOS_USERNAME:}
password: ${NACOS_PASSWORD:} password: ${NACOS_PASSWORD:}
# UAT 默认 true仅拉配置不注册时可设 NACOS_REGISTER_ENABLED=false
register-enabled: ${NACOS_REGISTER_ENABLED:true} register-enabled: ${NACOS_REGISTER_ENABLED:true}
heart-beat-interval: 5000 heart-beat-interval: 5000
heart-beat-timeout: 15000 heart-beat-timeout: 15000
ip-delete-timeout: 30000 ip-delete-timeout: 30000
config: config:
enabled: ${NACOS_CONFIG_ENABLED:false} enabled: false
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848}
namespace: ${NACOS_NAMESPACE:hbxhzt-test} namespace: ${NACOS_NAMESPACE:hbxhzt-test}
group: ${NACOS_CONFIG_GROUP:DEFAULT_GROUP} group: ${NACOS_CONFIG_GROUP:DEFAULT_GROUP}
file-extension: yaml file-extension: yaml
username: ${NACOS_USERNAME:} username: ${NACOS_USERNAME:}
password: ${NACOS_PASSWORD:} password: ${NACOS_PASSWORD:}
# 本地无 Nacos 时 false不阻塞启动UAT 建议 true避免误用空配置
fail-fast: ${NACOS_CONFIG_FAIL_FAST:false} fail-fast: ${NACOS_CONFIG_FAIL_FAST:false}
refresh-enabled: true refresh-enabled: true
# 与 Yunxi 其他工程一致:共享 yundt-cube-common.yaml仅当 NACOS_CONFIG_ENABLED=true 时拉取)
shared-configs: shared-configs:
- data-id: yundt-cube-common.yaml - data-id: yundt-cube-common.yaml
group: DEFAULT_GROUP group: DEFAULT_GROUP
refresh: true refresh: true
# 与 Yunxi 工程一致,压低 Nacos 客户端日志量
logging: logging:
level: level:
com.alibaba.nacos: ERROR com.alibaba.nacos: ERROR

View File

@ -2,22 +2,31 @@
与 Yunxi 工程(如 `yundt-boot-center-maindata-aggboot`)对齐:**命名空间 `hbxhzt-test`**、共享 **`yundt-cube-common.yaml`**、**服务注册名 `erp-api`**(供 maindata Feign 调用)。 与 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 变量名。
| 变量 | 值 | 说明 | ## UAT / K8s 启用 Nacos
|------|-----|------|
| `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 开启鉴权时 |
可选:`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` ## 上传 `erp-api.yaml`
@ -35,7 +44,3 @@
- **端口**`38083`(在 `erp-api.yaml``server.port` 中配置)。 - **端口**`38083`(在 `erp-api.yaml``server.port` 中配置)。
- **HTTP 路径**:例如 `/external/goods/upsert`;若经网关,按网关路由配置。 - **HTTP 路径**:例如 `/external/goods/upsert`;若经网关,按网关路由配置。
- **鉴权**`/external/**` 仍为 AK/SK 签名,与 `external.auth` 及 maindata 侧密钥一致。 - **鉴权**`/external/**` 仍为 AK/SK 签名,与 `external.auth` 及 maindata 侧密钥一致。
## 与 maindata `application-local` 类比
maindata 本地常用 `spring.cloud.nacos.discovery.register-enabled: false`erp-api 通过 **不设 UAT 环境变量** 实现等价效果(完全不连 Nacos