feat(perl-client): 新增 Perl 客户端 SDK 及 demo,各客户端版本统一为 1.0.3

This commit is contained in:
2026-07-07 21:11:04 +08:00
parent a70d378b91
commit 1f6da33371
15 changed files with 550 additions and 5 deletions
+89
View File
@@ -0,0 +1,89 @@
# Kenaito Config Center Perl Client
Perl 客户端 SDK,适用于 Perl 5.16+ 项目。
## 安装
### 从本地安装
```bash
cd kenaito-conf-perl-client
cpanm .
```
### 开发模式(符号链接)
在 demo 项目中添加 lib 路径:
```perl
use lib '/path/to/kenaito-conf-perl-client/lib';
```
## 使用
```perl
use Kenaito::Conf::Config;
use Kenaito::Conf::Client;
my $cfg = Kenaito::Conf::Config->new(
base_url => 'http://localhost:8080',
app_name => 'my-app',
env => 'daily',
version => 'latest',
token => '',
sync_interval => 10,
cache_dir => '.',
);
my $client = Kenaito::Conf::Client->new(config => $cfg);
# 监听配置变更
$client->on_change(sub {
my ($changed) = @_;
for my $k (keys %$changed) {
print "config changed: $k = $changed->{$k}\n";
}
});
# 启动客户端(拉取配置)
$client->start();
# 获取配置
my $value = $client->get('database.host');
my $all = $client->get_all();
# 手动同步一次
$client->sync_once();
# 停止
$client->stop();
```
## 配置项
| 参数 | 说明 | 默认值 |
|----------------|------------|-------------------------|
| `base_url` | 配置中心地址 | `http://localhost:8080` |
| `app_name` | 应用名称 | (必填) |
| `env` | 环境标识 | `dev` |
| `version` | 配置版本 | `latest` |
| `token` | 应用 Token | 空 |
| `sync_interval`| 同步间隔(秒) | `60` |
| `ignore_global`| 忽略全局配置 | `0` |
| `cache_dir` | 缓存目录 | `.` |
## 依赖
- Perl 5.16+
- HTTP::Tiny
- JSON::PP
## Demo
```bash
cd kenaito-conf-perl-client-demo
KENAITO_BASE_URL=http://localhost:8080 \
KENAITO_APP_NAME=kenaito-springboot-demo \
KENAITO_ENV=daily \
perl app.pl
```