# mbsd-sdk 从 **SystemData(mbsd)** 读取 `system_configs` 的 Go 客户端,供 HCS、schs、ngtm 等业务服务引用。 ## 模块路径 ```text git.sxidc.com/health-checkup-system/mbsd-sdk ``` ## 依赖 - `git.sxidc.com/service-supports/dapr_api` — HTTP 调用 mbsd - `git.sxidc.com/service-supports/fslog` — 刷新失败告警日志 ## 使用示例 ```go 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`) | 各服务在自身仓库维护 **KnownKeys** 与业务默认值封装(如 HCS 的 `application/support/system_config/keys.go`),不要写进本 SDK。 ## 版本发布(Gogs) ```bash git tag v0.1.0 git push origin v0.1.0 ``` 业务服务: ```bash go get git.sxidc.com/health-checkup-system/mbsd-sdk@v0.1.0 ``` 私服需配置 `GOPRIVATE=git.sxidc.com`。 ## 本地联调(monorepo) ```go replace git.sxidc.com/health-checkup-system/mbsd-sdk => ../mbsd-sdk ```