grpc

package
v1.0.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: MIT Imports: 3 Imported by: 0

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-конфигурации.

Жизненный цикл компонента:

  1. Init — регистрирует конструктор NewConfig в DI-контейнере.
  2. BindFlags — привязывает флаги командной строки.
  3. 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. Это гарантирует, что даже без явной настройки кластер будет работать стабильно.

func NewConfig

func NewConfig() *Config

NewConfig создаёт новую конфигурацию с нулевыми значениями.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL