Documentation
¶
Index ¶
- func LoadConfigFromStore[T any](ctx context.Context, store config.Store, params config.StoreParams, ...) (T, error)
- func NewStoreFromLoader(params config.LoaderParams, localLoad config.LocalLoaderFunc, ...) (config.Store, error)
- type Conf
- type StoreInstance
- func (s *StoreInstance) Delete(ctx context.Context, key microconfig.Key) error
- func (s *StoreInstance) Get(ctx context.Context, key microconfig.Key) (*microconfig.Item, error)
- func (s *StoreInstance) GetByQuery(ctx context.Context, query microconfig.Query) (*microconfig.Item, error)
- func (s *StoreInstance) GetMeta(ctx context.Context, key microconfig.Key) (*microconfig.Meta, error)
- func (s *StoreInstance) GetVersion(ctx context.Context, key microconfig.Key, version string) (*microconfig.Item, error)
- func (s *StoreInstance) ListVersions(ctx context.Context, key microconfig.Key, limit int) ([]string, error)
- func (s *StoreInstance) Put(ctx context.Context, key microconfig.Key, item *microconfig.Item) error
- func (s *StoreInstance) PutMeta(ctx context.Context, key microconfig.Key, meta *microconfig.Meta) error
- func (s *StoreInstance) PutVersion(ctx context.Context, key microconfig.Key, item *microconfig.Item) (string, error)
- func (s *StoreInstance) Unwatch(key microconfig.Key)
- func (s *StoreInstance) Watch(ctx context.Context, key microconfig.Key) (<-chan microconfig.WatchEvent, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadConfigFromStore ¶
func LoadConfigFromStore[T any](ctx context.Context, store config.Store, params config.StoreParams, payloadDecode config.PayloadDecodeFunc) (T, error)
LoadConfigFromStore 从 Store 读取当前配置并解码为目标类型 T。
func NewStoreFromLoader ¶
func NewStoreFromLoader(params config.LoaderParams, localLoad config.LocalLoaderFunc, remoteLoad config.RemoteLoaderFunc, payloadDecode config.PayloadDecodeFunc, conf *Conf, opts ...config.Option) (config.Store, error)
NewStoreFromLoader 基于统一加载参数创建 Etcd 配置存储实例。 流程:先按 local / remote 解析出 etcd.Conf,再创建客户端,最后构建 Store。
Types ¶
type Conf ¶
type Conf struct {
// Namespace 表示配置存储根路径,如 /config-center。
Namespace string `json:"namespace"`
// Timeout 表示单次 etcd 读写超时时间。
Timeout time.Duration `json:"timeout"`
// Retry 表示失败重试次数预留字段。
Retry uint32 `json:"retry"`
// WatchBuffer 表示 watch 事件缓冲区大小。
WatchBuffer int `json:"watch_buffer"`
}
Conf 定义 go-etcd/config 的可选初始化参数。
func (*Conf) BuildOptions ¶
func (c *Conf) BuildOptions(opts ...microconfig.Option) *microconfig.Options
BuildOptions 把 Conf 转换为统一的 micro config options。
type StoreInstance ¶
type StoreInstance struct {
// contains filtered or unexported fields
}
StoreInstance 是基于 etcd 的统一配置存储实现。
func NewStore ¶
func NewStore(client *clientv3.Client, conf *Conf, opts ...microconfig.Option) (*StoreInstance, error)
NewStore 基于 etcd 客户端创建配置存储实例。
func (*StoreInstance) Delete ¶
func (s *StoreInstance) Delete(ctx context.Context, key microconfig.Key) error
Delete 删除当前配置。
func (*StoreInstance) Get ¶
func (s *StoreInstance) Get(ctx context.Context, key microconfig.Key) (*microconfig.Item, error)
Get 按配置键读取当前生效配置。
func (*StoreInstance) GetByQuery ¶
func (s *StoreInstance) GetByQuery(ctx context.Context, query microconfig.Query) (*microconfig.Item, error)
GetByQuery 按运行时上下文读取配置。
func (*StoreInstance) GetMeta ¶
func (s *StoreInstance) GetMeta(ctx context.Context, key microconfig.Key) (*microconfig.Meta, error)
GetMeta 读取配置元信息。
func (*StoreInstance) GetVersion ¶
func (s *StoreInstance) GetVersion(ctx context.Context, key microconfig.Key, version string) (*microconfig.Item, error)
GetVersion 读取指定版本快照。
func (*StoreInstance) ListVersions ¶
func (s *StoreInstance) ListVersions(ctx context.Context, key microconfig.Key, limit int) ([]string, error)
ListVersions 列出版本号列表。
func (*StoreInstance) Put ¶
func (s *StoreInstance) Put(ctx context.Context, key microconfig.Key, item *microconfig.Item) error
Put 写入当前生效配置。
func (*StoreInstance) PutMeta ¶
func (s *StoreInstance) PutMeta(ctx context.Context, key microconfig.Key, meta *microconfig.Meta) error
PutMeta 写入配置元信息。
func (*StoreInstance) PutVersion ¶
func (s *StoreInstance) PutVersion(ctx context.Context, key microconfig.Key, item *microconfig.Item) (string, error)
PutVersion 写入版本快照并返回版本号。
func (*StoreInstance) Unwatch ¶
func (s *StoreInstance) Unwatch(key microconfig.Key)
Unwatch 取消指定配置键的监听。
func (*StoreInstance) Watch ¶
func (s *StoreInstance) Watch(ctx context.Context, key microconfig.Key) (<-chan microconfig.WatchEvent, error)
Watch 监听指定配置键的变更事件。
Click to show internal directories.
Click to hide internal directories.