Če je treba do notranje storitve gRPC dostopati neposredno, gRPC-Go ponuja možnost povezave za to pot:

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

Uvoz grpc je google.golang.org/grpc. transportCredentials je obstoječa konfiguracija credentials.TransportCredentials aplikacije. Obdelajte err in zaprite conn po običajnem življenjskem ciklu odjemalca.

WithNoProxy onemogoči uporabo posredniškega strežnika za ta ClientConn. Druge odjemalce in posredniško okolje procesa pusti nespremenjene. Cilj mora biti neposredno dosegljiv iz omrežja aplikacije.

Možnost se prezre, ko WithDialer ali WithContextDialer zagotovi potek povezave po meri; o usmerjanju odloča ta dialer. API na višji ravni je označen kot poskusen, zato ga preverite glede na nameščeno različico grpc-go.

NewClient ustvari odjemalčev kanal, ne da bi dokazal, da je omrežna povezava uspela. Naslednji RPC ali rezultat stanja povezave zagotovi ta dokaz. Obhod posredniškega strežnika ne zahteva izklopa TLS.

Sorodni članki