As 'n interne gRPC-diens direk bereik moet word, bied gRPC-Go 'n verbindingsopsie vir daardie roete:

conn, err := grpc.NewClient(
    "dns:///rpc.internal.example:443",
    grpc.WithTransportCredentials(transportCredentials),
    grpc.WithNoProxy(),
)

Die grpc-invoer is google.golang.org/grpc. transportCredentials is die toepassing se bestaande credentials.TransportCredentials-konfigurasie. Hanteer err en sluit conn deur die normale kliëntlewensiklus.

WithNoProxy skakel proxygebruik vir hierdie ClientConn af. Dit laat ander kliënte en die proses se proxy-omgewing onveranderd. Die bestemming moet direk vanaf die toepassing se netwerk bereikbaar wees.

Die opsie word geïgnoreer wanneer WithDialer of WithContextDialer 'n pasgemaakte verbindingspad verskaf; daardie dialer besit sy roeteringsbesluite. Die opstroom-API is as eksperimenteel gemerk, so kontroleer dit teen die geïnstalleerde grpc-go-weergawe.

NewClient skep 'n kliëntkanaal sonder om te bewys dat 'n netwerkverbinding geslaag het. Die daaropvolgende RPC of verbindingstatus-uitslag lewer daardie bewys. Om 'n proxy te omseil vereis nie dat TLS gedeaktiveer word nie.

Verwante artikels