Files

2.2 KiB
Raw Permalink Blame History

Kenaito Config Center Lua Client

English | 中文

Lua 客户端 SDK,适用于 Lua 5.1+ 项目。

功能特性

  • 从配置中心拉取应用配置
  • 定时同步配置变更
  • 支持配置变更回调监听
  • 本地文件缓存(配置中心不可用时降级)

安装

使用 LuaRocks(推荐)

cd kenaito-conf-lua-client
luarocks make

手动安装

将 kenaito_conf 目录复制到你的 Lua 路径中,或添加到 package.path:

package.path = package.path .. ";/path/to/kenaito-conf-lua-client/?.lua"

依赖

  • Lua 5.1+
  • LuaSocket (luasocket)
  • dkjson (dkjson)

使用

local kenaito = require("kenaito_conf")

local config = kenaito.Config.new({
    base_url = "http://localhost:8080",
    app_name = "my-app",
    env = "daily",
    sync_interval = 10
})

local client = kenaito.Client.new({ config = config })

-- 监听配置变更
client:on_change(function(changed)
    for k, v in pairs(changed) do
        print("config changed: " .. k .. " = " .. v)
    end
end)

-- 启动客户端(拉取配置)
client:start()

-- 获取配置
local value = client:get("database.host")
local all = client:get_all()

-- 手动同步一次
client:sync_once()

-- 停止
client:stop()

配置项

参数 说明 默认值
base_url 配置中心地址 http://localhost:8080
app_name 应用名称 (必填)
env 环境标识 dev
version 配置版本 latest
token 应用 Token 空
sync_interval 同步间隔(秒) 10
ignore_global 忽略全局配置 false
cache_dir 缓存目录 .

Demo

cd kenaito-conf-lua-client-demo
lua app.lua

环境变量

Demo 支持以下环境变量:

变量名 说明 默认值
KENAITO_BASE_URL 配置中心地址 http://localhost:8080
KENAITO_APP_NAME 应用名称 kenaito-springboot-demo
KENAITO_ENV 环境标识 daily
KENAITO_VERSION 配置版本 latest
KENAITO_TOKEN 应用 Token 空
KENAITO_SYNC_INTERVAL 同步间隔(秒) 10
KENAITO_CACHE_DIR 缓存目录 .