nacosvel / nacos-client
The PHP Nacos client for request and response data is strongly typed and IDE-friendly.
dev-main / 1.x-dev
2024-09-22 12:40 UTC
Requires
- php: >=8.0
- nacosvel/nacos-sdk-php: ^1.0
This package is auto-updated.
Last update: 2024-11-22 13:10:18 UTC
README
安装
推荐使用 PHP 包管理工具 Composer 安装:
composer require nacosvel/nacos-client
概述
1、PHP Nacos 客户端用于响应数据统一
<?php use Nacosvel\NacosClient\NacosService; use Nacosvel\NacosClient\Naming\RegisterInstanceRequest; $service = new NacosService( serverAddr: 'http://127.0.0.1:8848', namespace: 'public', username: 'nacos', password: 'nacos' ); $request = new RegisterInstanceRequest(); $v1 = $request->v1(serviceName: 'payment_service', ip: '127.0.0.1', port: 8081); $v2 = $request->v2(serviceName: 'payment_service', ip: '127.0.0.1', port: 8081); $response1 = $service->execute($v1)->response(); $response2 = $service->execute($v2)->response();
原始响应:/nacos/v1/ns/instance
ok
原始响应:/nacos/v2/ns/instance
{ "code": 0, "message": "success", "data": "ok" }
PHP Nacos 客户端响应:/nacos/v1/ns/instance
、/nacos/v2/ns/instance
[ 'code' => 0, 'message' => 'success', 'data' => 'ok', ]
2、PHP Nacos 客户端友好于集成开发环境(IDE)
开发计划
- 配置管理
- 服务发现
- 命名空间
- Open-API鉴权
- 运维API
文档
- ✅ Done
- ⬜ To Do
- 🔄 In Progress
- ❌ Unsupported
配置管理
服务发现
命名空间
Open-API鉴权
重要概念
在 Nacos
中,Namespace
、Data ID
和 Group
是用于管理和组织配置的三个重要概念。它们共同决定了配置项的唯一性,可以帮助你更好地管理配置数据。
Namespace
(命名空间)
- 用途: 命名空间用于多租户隔离,通常用来隔离不同的环境(如开发、测试、生产)或不同的业务线。
- 唯一性: 同一命名空间内的
Data ID
和Group
是唯一的,但不同命名空间之间可以存在相同的Data ID
和Group
组合。
Data ID
- 用途:
Data ID
是配置项的标识符,用于区分不同的配置项。 - 唯一性: 在同一命名空间和同一组(
Group
)内,Data ID
是唯一的。
Group
(组)
- 用途: 组用于对配置进行进一步分类,通常用于区分不同的模块或应用程序。
- 唯一性: 在同一命名空间内,同一组(
Group
)内的Data ID
是唯一的。
三者关系举例
假设你有一个微服务架构的系统,包含三个环境(开发、测试、生产),并且每个环境下都有多个应用。
Namespace
: 可以用来区分不同的环境。Namespace
: dev(开发环境)Namespace
: test(测试环境)Namespace
: prod(生产环境)
Group
: 用来区分不同的应用或模块。Group
: payment-service(支付服务)Group
: order-service(订单服务)
Data ID
: 用来标识具体的配置项。Data ID
: db-config(数据库配置)Data ID
: redis-config(Redis 配置)
具体示例
- 开发环境下的支付服务数据库配置:
Namespace
: devGroup
: payment-serviceData ID
: db-config
- 生产环境下的订单服务 Redis 配置:
Namespace
: prodGroup
: order-serviceData ID
: redis-config
总结
在 Nacos
中,一个配置项的唯一性是由 Namespace
+ Group
+ Data ID
三者组合决定的。这种设计允许你在不同的环境、不同的应用中灵活地管理和隔离配置。
License
Nacosvel NacosClient is made available under the MIT License (MIT). Please see License File for more information.