package resolver import ( "git.hlsq.asia/mmorpg/service-common/log" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/keepalive" "time" ) func NewGrpcConnection(target string) (*grpc.ClientConn, error) { cc, err := grpc.NewClient( target, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithDefaultServiceConfig(`{"loadBalancingConfig": [{"round_robin": {}}]}`), grpc.WithKeepaliveParams( keepalive.ClientParameters{ Time: 30 * time.Second, // 保活探测包发送的时间间隔 Timeout: 10 * time.Second, // 保活探测包的超时时间 PermitWithoutStream: true, }, ), ) if err != nil { log.Errorf("create grpc err: %v, target: %v", err, target) return nil, err } return cc, nil }