diff --git a/docs/内网凭据与端点.md b/docs/内网凭据与端点.md index 722ff035..8937f605 100644 --- a/docs/内网凭据与端点.md +++ b/docs/内网凭据与端点.md @@ -70,6 +70,7 @@ canonical: true | **server identity**(server 间鉴权头) | key `nacosServerIdentity` / value `f358e96034ab2cd5e41c1a691b4200bb6f576849d61ed4dd` | | **MySQL 后端** | 复用既有 `100.64.0.8:3306` 的 `nacos` 库(root/`ZRH3jwYLOrntBcTAw29MW9BP`,不新增实例);12 张官方表 | | **部署位置** | mini-infra `/opt/infra-nacos`(compose 源在仓 `deploy/infra/nacos/`);镜像 `nacos/nacos-server:v2.4.3` | +| **命名空间(namespaceId)** | 默认公共空间 = **空串 `""`**,**勿写字面量 `public`**——`public` 只是显示名(namespaceShowName),不是 id。写侧(game-cloud SCA / yudao publish)与读侧(worker nacos_registry / NacosHotConfig)一律用空串;写 `public` 会静默落进另一个空间、配置永远推不到(阶段〇同款坑)。实测 `GET /nacos/v1/console/namespaces` 返 `namespace:""` / `namespaceShowName:"public"`。业务生成配置若要隔离,另建**真实** namespaceId、勿复用显示名 | - **密钥注入**:上面四个密钥在服务器上物化为 `/opt/infra-nacos/.env`(chmod 600、不入仓);本文档是权威副本,compose 文件只用 `${VAR}` 引用、无明文。 - **运维**:起/停 `cd /opt/infra-nacos && docker compose up -d / down`;探活 `NACOS=http://100.64.0.8:8848 bash deploy/infra/nacos/health-check.sh`(绿=readiness 200)。standalone 单机 512m,实测常驻内存 ~627M。 diff --git a/game-cloud/huijing-server/src/main/resources/application.yaml b/game-cloud/huijing-server/src/main/resources/application.yaml index 004d34f9..970b3ef6 100644 --- a/game-cloud/huijing-server/src/main/resources/application.yaml +++ b/game-cloud/huijing-server/src/main/resources/application.yaml @@ -64,10 +64,10 @@ spring: password: ${NACOS_PASSWORD} # 口令走 Spring env 占位符注入,严禁明文入仓(真值=凭据文档 admin 口令) discovery: enabled: true # 重启用 Nacos 服务发现(was false):各 server 按 spring.application.name 注册进 Nacos - namespace: public # 命名空间(B1 部署用 public) + namespace: "" # 默认公共空间 namespaceId=空串,勿写 public(显示名 public≠id,写字面量 public 会静默落错空间) config: enabled: true # 重启用 Nacos 配置中心(was false):从 Nacos 读外部化配置 - namespace: public + namespace: "" # 默认公共空间 namespaceId=空串,勿写 public(同 discovery,写读两侧须一致) file-extension: yaml # 配置文件格式 # Sentinel 入口 QPS 突发保护(切片一 阶段〇 C2):流控规则从 Nacos dataId sentinel-gen-flow-rules 热加载(改即生效、不重启)。 # 职责 = 生成入队入口速率闸(FLOW_GRADE_QPS 削洪峰),与 DB 三门(业务配额)/ C3 consumeThreadMax(dispatch 投递速率上限;真在跑并发≤15 属有界 worker 池=follow-up)三层正交。 diff --git a/tier2/gen-worker/service/nacos_registry.py b/tier2/gen-worker/service/nacos_registry.py index b6d25758..2554bc5c 100644 --- a/tier2/gen-worker/service/nacos_registry.py +++ b/tier2/gen-worker/service/nacos_registry.py @@ -74,7 +74,9 @@ def register(service_host: str, service_port: int) -> None: client = nacos.NacosClient( nacos_addr, - namespace=os.environ.get("NACOS_NAMESPACE", "public"), + # 默认公共空间 namespaceId=空串,勿写 public(显示名 public≠id,写字面量会静默落错空间; + # 与 game-cloud SCA 写读两侧口径一致,Nacos v1/console/namespaces 实测默认空间 namespace="") + namespace=os.environ.get("NACOS_NAMESPACE", ""), username=os.environ.get("NACOS_USERNAME", "nacos"), password=os.environ.get("NACOS_PASSWORD", ""), ) diff --git a/tier2/gen-worker/tests/test_nacos_registry.py b/tier2/gen-worker/tests/test_nacos_registry.py index 0ec46676..3ed1aa80 100644 --- a/tier2/gen-worker/tests/test_nacos_registry.py +++ b/tier2/gen-worker/tests/test_nacos_registry.py @@ -70,7 +70,7 @@ def test_register_calls_add_naming_instance(clean_env): ctor.assert_called_once() c_args, c_kwargs = ctor.call_args assert c_args[0] == f"{_NACOS_HOST}:8848" - assert c_kwargs.get("namespace") == "public" + assert c_kwargs.get("namespace") == "" # 默认公共空间 namespaceId=空串(勿写 public,显示名≠id) assert c_kwargs.get("username") == "nacos" # add_naming_instance:通告 IP(非绑定 0.0.0.0)+ port