package client import ( "context" "time" "git.ikuban.com/server/kratos-nacos/registry" "github.com/go-kratos/kratos/v2/middleware" "git.ikuban.com/server/kratos-utils/http/middleware/logging" "github.com/go-kratos/kratos/v2/log" "github.com/go-kratos/kratos/v2/transport/grpc" grpc2 "google.golang.org/grpc" ) var ReceiveMsgSize = 10000000000 var connMap = make(map[string]*grpc2.ClientConn) func getDialInsecure(r *registry.Registry, logger log.Logger, endpointNameKey string) (*grpc2.ClientConn, error) { if _, ok := connMap[endpointNameKey]; ok { return connMap[endpointNameKey], nil } endpoint := grpc.WithEndpoint(endpointNameKey) middles := []middleware.Middleware{ logging.Client(logger), } if r == nil { return nil, nil } conn, err := grpc.DialInsecure(context.Background(), endpoint, grpc.WithDiscovery(r), grpc.WithMiddleware(middles...), grpc.WithTimeout(time.Second*60), grpc.WithOptions(grpc2.WithDefaultCallOptions(grpc2.MaxCallRecvMsgSize(ReceiveMsgSize))), ) if err != nil { return nil, err } connMap[endpointNameKey] = conn return conn, nil }