From 027ee4d336bcf342dcfc9a1815a8f75093026a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 20 Mar 2022 11:28:38 +0800 Subject: [PATCH] =?UTF-8?q?GRPC=E9=80=9A=E8=AE=AF=E6=94=AF=E6=8C=81gzip?= =?UTF-8?q?=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/rpc/rpc_client.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/rpc/rpc_client.go b/internal/rpc/rpc_client.go index eb9f6d7d..a2eccfdd 100644 --- a/internal/rpc/rpc_client.go +++ b/internal/rpc/rpc_client.go @@ -17,6 +17,7 @@ import ( "google.golang.org/grpc/connectivity" "google.golang.org/grpc/credentials" "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/encoding/gzip" "google.golang.org/grpc/metadata" "net/url" "sync" @@ -561,12 +562,14 @@ func (this *RPCClient) init() error { return errors.New("parse endpoint failed: " + err.Error()) } var conn *grpc.ClientConn + var callOptions = grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(128*1024*1024), + grpc.UseCompressor(gzip.Name)) if u.Scheme == "http" { - conn, err = grpc.Dial(u.Host, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(128*1024*1024))) + conn, err = grpc.Dial(u.Host, grpc.WithTransportCredentials(insecure.NewCredentials()), callOptions) } else if u.Scheme == "https" { conn, err = grpc.Dial(u.Host, grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{ InsecureSkipVerify: true, - })), grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(128*1024*1024))) + })), callOptions) } else { return errors.New("parse endpoint failed: invalid scheme '" + u.Scheme + "'") }