Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Pelbagai Perkhidmatan gRPC Melalui Sambungan Tunggal?
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.
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>
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>
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!