diff --git a/cmd/server/main.go b/cmd/server/main.go index 211d991..ab1dc51 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -3,6 +3,7 @@ package main import ( "context" "google.golang.org/grpc" + "google.golang.org/grpc/keepalive" "log" "os" "os/signal" @@ -31,8 +32,17 @@ func main() { } defer db.Close() - // Подключение к gRPC серверу сообщений - grpcConn, err := grpc.Dial(cfg.GRPC.MessageServiceAddress, grpc.WithInsecure()) + grpcConn, err := grpc.Dial( + cfg.GRPC.MessageServiceAddress, + grpc.WithInsecure(), + grpc.WithKeepaliveParams(keepalive.ClientParameters{ + Time: 30 * time.Second, // Отправлять keepalive-пакеты каждые 30 сек + Timeout: 10 * time.Second, // Ждать ответа 10 сек + PermitWithoutStream: true, // Отправлять keepalive даже без активных стримов + }), + grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(10*1024*1024), // Увеличить лимит размера сообщения (опционально) + )) if err != nil { log.Fatalf("failed to connect to messages gRPC service: %v", err) }