配置服务 sdk

郭铭泽 f097ee3fa0 feat: add Create and Update for system config writes 3 dní pred
.gitignore 7ba77e063d feat: initial mbsd system config client SDK 1 týždeň pred
README.md f097ee3fa0 feat: add Create and Update for system config writes 3 dní pred
client.go f097ee3fa0 feat: add Create and Update for system config writes 3 dní pred
go.mod 7ba77e063d feat: initial mbsd system config client SDK 1 týždeň pred
go.sum 7ba77e063d feat: initial mbsd system config client SDK 1 týždeň pred

README.md

mbsd-sdk

SystemData(mbsd) 读取 system_configs 的 Go 客户端,供 HCS、schs、ngtm 等业务服务引用。

模块路径

git.sxidc.com/health-checkup-system/mbsd-sdk

依赖

  • git.sxidc.com/service-supports/dapr_api — HTTP 调用 mbsd
  • git.sxidc.com/service-supports/fslog — 刷新失败告警日志

使用示例

import mbsdsdk "git.sxidc.com/health-checkup-system/mbsd-sdk"

func main() {
    mbsdsdk.Init(cfg.Services.SDUrl, time.Duration(cfg.Services.TimeoutSec)*time.Second)
    defer mbsdsdk.Destroy()

    keys := []string{"platform.identity.system_tenant_id", "hcs.activity_blacklist.overdue_threshold"}
    mbsdsdk.StartBackgroundRefresh(mbsdsdk.CacheTTL, keys...)

    tenantID := mbsdsdk.GetString("platform.identity.system_tenant_id", "默认租户ID")
}

行为说明

场景 行为
sd_url 未配置 不初始化客户端,Get* 返回调用方默认值
mbsd 不可用 使用未过期缓存;否则默认值
改配置 默认约 60s 内通过后台刷新生效(CacheTTL
写配置 Create / Update 成功后立即更新本地缓存

各服务在自身仓库维护 KnownKeys 与业务默认值封装(如 HCS 的 application/support/system_config/keys.go),不要写进本 SDK。

写配置示例(需 mbsd 已部署 create/update 接口):

err := mbsdsdk.Update(mbsdsdk.ConfigInfo{
    ID: info.ID, ConfigKey: info.ConfigKey, ConfigValue: newValue,
    ValueType: info.ValueType, ConfigGroup: info.ConfigGroup,
    Service: info.Service, Description: info.Description,
}, userID)

版本发布(Gogs)

git tag v0.1.1
git push origin v0.1.1

业务服务:

go get git.sxidc.com/health-checkup-system/mbsd-sdk@v0.1.1

私服需配置 GOPRIVATE=git.sxidc.com

本地联调(monorepo)

replace git.sxidc.com/health-checkup-system/mbsd-sdk => ../mbsd-sdk