1
Google에서 gRPC를 서버와 함께 사용하지만 시간이 지나면 스트림이 서버에 할당되고 앱을 닫을 때만 종료됩니다.안드로이드 요청에서 gRPC를 사용할 때 수백 개의 스트림이 서버에 할당됩니다.
GatewayGrpc.GatewayBlockingStub stub = getGatewayBlockingStub();
Gw.GetRequest request = new Gw.GetRequest();
request.authToken = authToken;
request.requestId = requestId;
Gw.GetResponse response = stub.get(request);
이 연결을 해제하는 방법?
모든 요청에 대해 하나의 정적 연결 ManagedChannel을 사용하고 있습니다. 왜 연결이 커지나요? 그것은 버그입니까, 아니면 제가 잘못 했나요? –
@IhorKostenko, 서버가 GOAWAY를 보낼 때 여러 연결을 사용할 수 있습니다. 새 연결이 시작되고 이전 연결은 모든 RPC가 완료 될 때까지 남아있을 수 있습니다. 그것은 보통 너무 많은 추가 연결을 생성하지 않습니다. 얼마나 많은 RPC 후에 얼마나 많은 연결을보고 있습니까? –
@IhorKostenko, 제목을 다시 보아라. 수백 개의 연결이 보인다면, 그것은 거의 확실한 버그 일 것이다. 그것은 같은 문제 (백엔드 PR (broken port shutdown handling) [https://github.com/grpc/grpc-java/pull/1894]에서 참조했습니다.)가 원인 일 수 있습니다. 수백 가지의 연결은 코드에서 발생할 수있는 버그가 있다고 생각하는 것보다 훨씬 많습니다. 따라서 [새 문제] (https://github.com/grpc/grpc-java/issues/new)를 작성하여 후속 조치를 취하십시오. 알맞다. –