Documentation
¶
Index ¶
Constants ¶
View Source
const ( // ClientPermitWithoutStreamFieldName — разрешать keepalive без активных стримов. ClientPermitWithoutStreamFieldName = "cluster." + grpcClient.PermitWithoutStreamFieldName // ClientKeepaliveTimeFieldName — интервал между keepalive пингами. ClientKeepaliveTimeFieldName = "cluster." + grpcClient.KeepaliveTimeFieldName // ClientKeepaliveTimeoutFieldName — таймаут на ответ keepalive. ClientKeepaliveTimeoutFieldName = "cluster." + grpcClient.KeepaliveTimeoutFieldName )
Variables ¶
View Source
var Component = compogo.Component{ Name: "cluster.grpc.config", Init: compogo.StepFunc(func(container compogo.Container) error { return container.Provide(NewConfig) }), BindFlags: compogo.BindFlags(func(flagSet flag.FlagSet, container compogo.Container) error { return container.Invoke(func(config *Config) { flagSet.BoolVar(&config.GrpcConfig.PermitWithoutStream, ClientPermitWithoutStreamFieldName, grpcClient.PermitWithoutStreamDefault, "") flagSet.DurationVar(&config.GrpcConfig.KeepaliveTime, ClientKeepaliveTimeFieldName, grpcClient.KeepaliveTimeDefault, "") flagSet.DurationVar(&config.GrpcConfig.KeepaliveTimeout, ClientKeepaliveTimeoutFieldName, grpcClient.KeepaliveTimeoutDefault, "") }) }), Configuration: compogo.StepFunc(func(container compogo.Container) error { return container.Invoke(Configuration) }), }
Component — компонент для инициализации gRPC-конфигурации.
Жизненный цикл компонента:
- Init — регистрирует конструктор NewConfig в DI-контейнере.
- BindFlags — привязывает флаги командной строки.
- Configuration — загружает конфигурацию из Configurator.
Флаги:
- --cluster.client.grpc.permit_without_stream — разрешать keepalive без стримов
- --cluster.client.grpc.keepalive.time — интервал keepalive пингов
- --cluster.client.grpc.keepalive.timeout — таймаут keepalive
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
GrpcConfig grpcClient.Config
}
Config содержит настройки gRPC-клиента для общения между репликами.
Эти настройки применяются ко всем gRPC-соединениям, которые реплика создаёт к другим репликам (Peer'ам).
func Configuration ¶
func Configuration(config *Config, configurator compogo.Configurator) *Config
Configuration загружает конфигурацию из Configurator и устанавливает дефолтные значения.
Важно: если keepalive-параметры не заданы, они берутся из значений по умолчанию пакета grpc_client. Это гарантирует, что даже без явной настройки кластер будет работать стабильно.
Click to show internal directories.
Click to hide internal directories.