Documentation
¶
Overview ¶
Package sync предоставляет gRPC-сервис для синхронизации хостов.
Этот сервис используется репликами для обмена списками хостов.
Метод:
- Hosts — обмен списками хостов между репликами
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Component = compogo.Component{ Dependencies: compogo.Components{ &grpcServer.Component, &grpc2.Component, &manager.Component, }, Init: compogo.StepFunc(func(container compogo.Container) error { return container.Provide(NewService) }), PreExecute: compogo.StepFunc(func(container compogo.Container) error { return container.Invoke(func(s *Service, grpc *grpcServer.Server) { service.RegisterSyncServer(grpc.GetGRPC(), s) }) }), }
Component — компонент для регистрации gRPC-сервиса Sync.
Жизненный цикл:
- Init — регистрирует конструктор Service в DI-контейнере.
- PreExecute — регистрирует Service в gRPC-сервере.
Functions ¶
This section is empty.
Types ¶
type Service ¶
type Service struct {
service.UnimplementedSyncServer
// contains filtered or unexported fields
}
Service — реализация gRPC-сервиса Sync.
func NewService ¶
func NewService( manager cluster.Manager, grpcConfig *grpcClientConfig.Config, logger compogo.Logger, closer compogo.Closer, ) *Service
NewService создаёт новый сервис Sync.
func (*Service) Hosts ¶
Hosts — обработчик синхронизации хостов.
Принимает список хостов от другой реплики. Возвращает свой список хостов.
Логика:
- Получает список хостов от другой реплики.
- Сравнивает со своим списком.
- Если есть новые хосты — добавляет их через Manager.AddPeer.
Примечание: этот метод вызывается периодически из Process синхронизации.
Click to show internal directories.
Click to hide internal directories.