Jika layanan gRPC internal harus dijangkau secara langsung, gRPC-Go menyediakan opsi koneksi untuk jalur tersebut:

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

Impor grpc adalah google.golang.org/grpc. transportCredentials adalah konfigurasi credentials.TransportCredentials yang sudah ada pada aplikasi. Tangani err dan tutup conn melalui siklus hidup klien yang biasa.

WithNoProxy menonaktifkan penggunaan proxy untuk ClientConn ini. Opsi ini membiarkan klien lain dan lingkungan proxy proses tidak berubah. Tujuan harus dapat dijangkau langsung dari jaringan aplikasi.

Opsi diabaikan ketika WithDialer atau WithContextDialer menyediakan jalur koneksi khusus; dialer tersebut yang menentukan peruteannya. API upstream ditandai eksperimental, jadi periksa terhadap versi grpc-go yang terpasang.

NewClient membuat kanal klien tanpa membuktikan bahwa koneksi jaringan berhasil. Hasil RPC berikutnya atau status koneksi memberikan bukti itu. Melewati proxy tidak memerlukan penonaktifan TLS.

Artikel terkait