동일한 연결에서 실행되는 gRPC 서비스에 액세스하는 경우 서버에서는 각 서비스에 대해 별도의 연결을 설정할 필요가 없습니다. 단일 grpc.ClientConn을 활용하여 모든 서비스에 액세스할 수 있습니다.
연결을 공유하려면 원하는 엔드포인트를 사용하여 grpc.ClientConn을 생성하고 이를 pb.New*Client()는 사용하려는 각 서비스에 대한 함수입니다. 이를 통해 동일한 연결을 활용할 수 있습니다.
<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>
여러 서비스에 대해 클라이언트 측 gRPC 기능을 결합하기 위한 인터페이스를 생성할 수 있지만 pb.go에서 생성된 코드는 모든 필수 작업을 처리합니다. 새로운 기능을 구현하는 것은 특정 사용자 정의 로직에만 필요합니다.
고유한 메소드 이름을 가진 서비스의 경우 클라이언트를 번들로 묶는 편리한 구조체를 정의할 수 있습니다.
<code class="go">type SubscriberDropper struct { pb.SubscriberServiceClient pb.DropperServiceClient }</code>
단일 연결은 클라이언트 측 구현을 단순화하고 코드 유지 관리성을 향상시킵니다.
위 내용은 단일 연결을 통해 여러 gRPC 서비스에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!