Documentation ¶
Index ¶
Constants ¶
View Source
const ( EventTypePut = 0 EventTypeDelete = 1 )
View Source
const ( TagNameService = "conf_service" TagNamePath = "conf_path" TagNameValue = "conf_value" TagNameJson = "json" )
Variables ¶
View Source
var AllTagName = []string{TagNameValue, TagNamePath, TagNameService, TagNameJson}
Functions ¶
This section is empty.
Types ¶
type ChangeCallback ¶
type ChangeCallback func(event ChangeEvent) error
type ChangeEvent ¶
type ConfigureWatcherRepo ¶
type ConfigureWatcherRepo interface { // Load 解析配置对象 object 中的 `conf_path` 标签及 json 标签,获取配置对象配置中心路径的映射 Load(object interface{}) error // AddPrefix 为当前的 Manager 对象添加一个前缀并指定优先级,指定前缀中后与配置路径之间会进行合并, 优先级高的配置会覆盖优先级低的配置, // 当 ignoreEmpty 为 true 时,不检查缺失的配置项 AddPrefix(prefix string, priority int, ignoreEmpty bool) // Start 启动 ConfigureRepo 对配置中心的监听,配置中心中所有的配置变更会实时更新到之前通过 Load 绑定的对象上 Start() error // LoadAndStart 提供了组合调用 Load 跟 Start 的能力,该接口为用户减少需要处理的错误状态 LoadAndStart(object interface{}) error // LoadWithPath 为 object 建立 path 的监听,并在 path 发生变化时为其提供热更新能力, 该接口一般用于运行时需要动态监听配置的情形 LoadWithPath(object interface{}, path string) error }
func NewConfigWatcher ¶
func NewConfigWatcher(configure *LocalConfigure) (ConfigureWatcherRepo, error)
NewConfigWatcher 创建配置中心监听器, 他依赖于本地配置提供的配置中心地址
type LocalConfigure ¶
type LocalConfigure struct { APP APPConfig `json:"app"` // APP 基本配置 // ConfigureCenter 配置中心的地址 ConfigCenter struct { // 本地配置文件,如果配置了则不使用配置中心,而是使用本地的配置文件 LocalFile string `json:"local_file"` Endpoints []string `json:"endpoints"` Username string `json:"username"` Password string `json:"password"` Timeout string `json:"timeout"` // example 10s } `json:"config_center"` }
func NewConfigWithFiles ¶
func NewConfigWithFiles() (conf *LocalConfigure, err error)
NewConfigWithFiles 初始化配置手柄 , WARN: kratos 的实现会产生错误日志,暂时忽略
type Manager ¶
type Manager struct { LocalFile string Client *etcd.Client Instances []*managerInstance TraceInfo traceInfo WatchPath []string PathHistory map[string]*pathPriorityHistory }
func (*Manager) LoadAndStart ¶
func (*Manager) LoadWithPath ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.