以下では grpc-go (v1.12.2) を前提に書きます。 ただ、 grpc/proposal を参照しているので、ほかの言語のライブラリにも当てはまるところがあると思います。 gRPC クライアントの再接続 gRPC クライアントがサーバーと接続を確立したあとにネットワークが切れた場合、gRPC ライブラリ側で再接続を期待すると思います。 しかし、keepalive が適切に機能していない場合、基本的に再接続は行われません。 grpc-go では、デフォルトでアプリケーションレイヤーでの keepalive は無効です。 RPC タイムアウトが短く設定されているかどうかによって次のように動作します。 設定されている場合、再接続しない。以降のリクエストもタイムアウトしたまま。 設定されていない場合、 20 秒ほどで transport is closing エラーが返ってきて、再接続