2017-10-04 8 views
0

연결이 끊긴 후 gRPC 클라이언트가 매우 빨리 다시 연결되도록 구성하고 싶습니다. (default behavior은 20 초 후에 다시 연결하려고 시도하는 것으로 간주되며 시도 간격은 120 초입니다.) available settings을 검토 한 후 grpc.initial_reconnect_backoff_msgrpc.min_reconnect_backoff_ms을 200으로 설정했습니다. 연결이 끊어지면 빠른 연결이 이루어 지지만, 우리는 가끔씩 GRPC::Internal: 13:Completed without a response으로 전화가 끊어지는 것을 봅니다. 클라이언트와 서버 사이에 앉아있는 TCP 리버스 프록시의 로깅을 살펴보면 200ms가 넘는 연결이 지속되고 두 번째 연결이 오래 지속되는 것을 볼 수 있습니다. 따라서 재 연결 시간이 연결 시도에서 시간 초과로 효과적으로 기능하는 것처럼 보입니다.gRPC 클라이언트 연결 시간 제한을 다시 연결 백 오프 설정과 독립적으로 설정할 수 있습니까?

이 연결이 끊긴 후 매우 빠르게을 다시 시작하려고하지만 재 연결 시간보다 오래 걸릴 수 있도록 연결을 만들 수 있도록 gRPC 클라이언트를 구성 할 수 있습니까?

중요한 점은 이것이 Ruby 클라이언트입니다.

답변

1

초기 백 오프는 이고,1 second이라고 가정한다.

최소 연결 시간 제한이 시간 초과 및 백 오프 둘 모두로 작용하므로 (1 초 초기 백 오프가 무시 됨) a bug이 발생합니다. 따라서 초기 문제와 실패한 해결 방법은 모두 동일한 버그로 인해 발생합니다.

은 (버그는 한 달 전에 발견했지만 문제는 두 번째 버그와 호환 문제로 인해 제기하지 않았다. 여기에 귀하의 질문은 내가 누락 된 문제를 확인할 수 있습니다.)

+0

그래서 대답은 "옳지 않아 지금,하지만 [이 버그] (https://github.com/grpc/grpc/issues/12867)가 수정되었습니다. " 감사. –

+0

해결 방법 : https://github.com/grpc/grpc/pull/13121 –