Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengakses Pelbagai Perkhidmatan gRPC Melalui Sambungan Tunggal?

Bagaimana untuk Mengakses Pelbagai Perkhidmatan gRPC Melalui Sambungan Tunggal?

Mary-Kate Olsen
Lepaskan: 2024-11-03 19:28:29
asal
976 orang telah melayarinya

How to Access Multiple gRPC Services Over a Single Connection?

Akses Berbilang Perkhidmatan gRPC melalui Sambungan Tunggal

Mengapa Dail Soket Berbeza untuk Setiap Perkhidmatan gRPC?

Apabila mengakses perkhidmatan gRPC berjalan pada yang sama pelayan, adalah tidak perlu untuk mewujudkan sambungan berasingan untuk setiap perkhidmatan. Satu grpc.ClientConn boleh digunakan untuk mengakses semua perkhidmatan.

Bagaimana untuk Berkongsi Sambungan?

Untuk berkongsi sambungan, buat grpc.ClientConn menggunakan titik akhir yang diingini dan hantarkannya ke pb.New*Client() fungsi untuk setiap perkhidmatan yang anda ingin gunakan. Ini membolehkan mereka menggunakan sambungan yang sama.

<code class="go">cc, err := grpc.Dial("localhost:6000", grpc.WithInsecure())
if err != nil {
    log.Fatal(err)
}
c1 := pb.NewSubscriberServiceClient(cc)
c2 := pb.NewDropperServiceClient(cc)</code>
Salin selepas log masuk

Menggunakan Antara Muka untuk Menggabungkan Pelaksanaan Klien?

Walaupun anda boleh mencipta antara muka untuk menggabungkan fungsi gRPC sisi klien untuk berbilang perkhidmatan, kod yang dijana dalam pb.go mengendalikan semua operasi penting. Melaksanakan kefungsian baharu hanya diperlukan untuk logik tersuai tertentu.

Untuk perkhidmatan dengan nama kaedah unik, anda boleh menentukan struct kemudahan untuk menggabungkan pelanggan mereka:

<code class="go">type SubscriberDropper struct {
    pb.SubscriberServiceClient
    pb.DropperServiceClient
}</code>
Salin selepas log masuk

Mengakses berbilang perkhidmatan gRPC melalui sambungan tunggal memudahkan pelaksanaan pihak klien dan meningkatkan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pelbagai Perkhidmatan gRPC Melalui Sambungan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan