erp-java/nacos/examples/nacos-api-usage.md

5.7 KiB

==============================================================

Nacos API Examples - 服务注册、发现与元数据管理

Nacos Server: http://127.0.0.1:8848

Base Path: /nacos/v1

默认用户名/密码: nacos / nacos123456

==============================================================

==============================================================

一、服务注册 (Service Registration)

==============================================================

1.1 注册服务实例

POST /nacos/v1/ns/instance

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance'
-d 'serverIp=127.0.0.1'
-d 'serverPort=8082'
-d 'serviceName=user-service'
-d 'weight=1.0'
-d 'enabled=true'
-d 'healthy=true'
-d 'ephemeral=true'
-d 'clusterName=DEFAULT'
-d 'namespaceId=public'
-d 'instanceId=127.0.0.1#8082#DEFAULT#user-service#public'

1.2 注销服务实例

DELETE /nacos/v1/ns/instance

curl -X DELETE 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=user-service&instanceId=127.0.0.1#8082#DEFAULT#user-service#public&clusterName=DEFAULT&namespaceId=public'

1.3 发送心跳(保活)

PUT /nacos/v1/ns/instance/beat

curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance/beat'
-d 'serviceName=user-service'
-d 'clusterName=DEFAULT'
-d 'ip=127.0.0.1'
-d 'port=8082'
-d 'beatInterval=5000'

==============================================================

二、服务发现 (Service Discovery)

==============================================================

2.1 查询服务列表

GET /nacos/v1/ns/instance/list?serviceName=xxx

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=user-service&namespaceId=public&clusters=DEFAULT'

2.2 查询服务详情

GET /nacos/v1/ns/service/list?pageNo=1&pageSize=10

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/service/list?pageNo=1&pageSize=100&namespaceId=public'

2.3 查询服务详情(单个服务)

GET /nacos/v1/ns/instance?serviceName=xxx

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=user-service&namespaceId=public&clusterName=DEFAULT&healthyOnly=true'

2.4 查询服务元数据

GET /nacos/v1/ns/serviceMetadata?serviceName=xxx

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=user-service&namespaceId=public'

==============================================================

三、服务元数据管理 (Service Metadata)

==============================================================

3.1 更新服务元数据

PUT /nacos/v1/ns/serviceMetadata

curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/serviceMetadata'
-H 'Content-Type: application/json'
-d '{ "serviceName": "user-service", "namespaceId": "public", "clusterName": "DEFAULT", "metadata": { "version": "1.0.0", "environment": "prod", "description": "用户服务", "owner": "dev-team", "protocol": "http", "tags": "auth,user,login" }, "protectThreshold": 0.5, "healthChecker": { "type": "TCP" } }'

3.2 查询服务元数据

GET /nacos/v1/ns/service?serviceName=xxx

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/service?serviceName=user-service&namespaceId=public'

==============================================================

四、健康检查配置 (Health Check Configuration)

==============================================================

4.1 查询健康检查器类型

支持类型: TCP, HTTP, MYSQL, AST

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/operator/metrics?target=health'

==============================================================

五、配置管理 (Config Management)

==============================================================

5.1 发布配置

POST /nacos/v1/cs/configs

curl -X POST 'http://127.0.0.1:8848/nacos/v1/cs/configs'
-d 'dataId=user-service.yaml'
-d 'group=DEFAULT_GROUP'
-d 'namespaceId=public'
-d 'content=spring: datasource: url: jdbc:mysql://127.0.0.1:3307/erp_java username: erp_user password: erp123456'
-d 'type=yaml'

5.2 查询配置

GET /nacos/v1/cs/configs?dataId=xxx&group=xxx

curl -s 'http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=user-service.yaml&group=DEFAULT_GROUP&namespaceId=public'

5.3 删除配置

DELETE /nacos/v1/cs/configs

curl -X DELETE 'http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=user-service.yaml&group=DEFAULT_GROUP&namespaceId=public'

5.4 监听配置变化

POST /nacos/v1/cs/configs/listener

curl -X POST 'http://127.0.0.1:8848/nacos/v1/cs/configs/listener'
-H 'Content-Type: application/x-www-form-urlencoded'
-d 'Listening-Configs=dataId=user-service.yaml&group=DEFAULT_GROUP&namespaceId=public&contentMD5=xxx'

==============================================================

六、命名空间管理 (Namespace)

==============================================================

6.1 创建命名空间

POST /nacos/v1/console/namespace

curl -X POST 'http://127.0.0.1:8848/nacos/v1/console/namespace'
-d 'customNamespaceId=dev'
-d 'namespaceName=开发环境'
-d 'namespaceDesc=开发测试环境'

6.2 查询命名空间列表

GET /nacos/v1/console/namespaces

curl -s 'http://127.0.0.1:8848/nacos/v1/console/namespaces'

==============================================================

七、集群管理 (Cluster)

==============================================================

7.1 查询集群节点列表

GET /nacos/v1/ns/operator/servers

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/operator/servers?namespaceId=public'

7.2 查询当前节点Leader状态

curl -s 'http://127.0.0.1:8848/nacos/v1/ns/raft/leader'

7.3 健康检查

curl -s 'http://127.0.0.1:8848/nacos/v1/console/health/readiness' curl -s 'http://127.0.0.1:8848/nacos/v1/console/health/liveness'