Documentation
¶
Index ¶
- func LoadConfigFromStore[T any](ctx context.Context, store microConfig.Store, params microConfig.StoreParams, ...) (T, error)
- func NewStoreFromLoader(params microConfig.LoaderParams, localLoad microConfig.LocalLoaderFunc, ...) (microConfig.Store, error)
- type Config
- type StoreInstance
- func (s *StoreInstance) Delete(ctx context.Context, key microConfig.Key) error
- func (s *StoreInstance) Get(ctx context.Context, key microConfig.Key) (*microConfig.Raw, error)
- func (s *StoreInstance) Put(ctx context.Context, key microConfig.Key, raw *microConfig.Raw) 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 ¶ added in v0.0.3
func LoadConfigFromStore[T any](ctx context.Context, store microConfig.Store, params microConfig.StoreParams, payloadDecode microConfig.PayloadDecodeFunc) (T, error)
LoadConfigFromStore 从 Store 读取当前配置并解码为目标类型 T。 当 Raw.Encrypted=true 时,会复用 go-micro/config 的统一规则,先解密整份内容,再解析目标结构。
func NewStoreFromLoader ¶ added in v0.0.3
func NewStoreFromLoader(params microConfig.LoaderParams, localLoad microConfig.LocalLoaderFunc, remoteLoad microConfig.RemoteLoaderFunc, payloadDecode microConfig.PayloadDecodeFunc, config *Config, opts ...microConfig.Option) (microConfig.Store, error)
NewStoreFromLoader 基于统一加载参数创建 Consul 配置存储实例。 流程:先按 local / remote 解析出 consul.Conf,再创建客户端,最后构建 Store。
Types ¶
type Config ¶ added in v0.0.5
type Config struct {
// Namespace 表示配置存储根路径,如 /config-center。
Namespace string `json:"namespace"`
// Timeout 表示单次 Consul 读写超时时间。
Timeout time.Duration `json:"timeout"`
// Retry 表示失败重试次数预留字段。
Retry uint32 `json:"retry"`
// WatchBuffer 表示 watch 事件缓冲区大小。
WatchBuffer int `json:"watch_buffer"`
// WatchWaitTime 表示 blocking query 的最长等待时间。
WatchWaitTime time.Duration `json:"watch_wait_time"`
}
Config 定义 go-consul/config 的可选初始化参数。
func (*Config) BuildOptions ¶ added in v0.0.5
func (c *Config) BuildOptions(opts ...microConfig.Option) *microConfig.Options
BuildOptions 把 Conf 转换为统一的 micro config options。
type StoreInstance ¶
type StoreInstance struct {
// contains filtered or unexported fields
}
StoreInstance 是基于 Consul KV 的统一配置存储实现。
func NewStore ¶
func NewStore(client *api.Client, config *Config, opts ...microConfig.Option) (*StoreInstance, error)
NewStore 基于 Consul 客户端创建配置存储实例。
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.Raw, error)
Get 按配置键读取当前生效配置。
func (*StoreInstance) Put ¶
func (s *StoreInstance) Put(ctx context.Context, key microConfig.Key, raw *microConfig.Raw) error
Put 写入当前生效配置。
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.