私が知ることから、gRPCクライアントは自動的にバックオフアルゴリズムを使って失われた接続を再確立しようとします。私の目標はgRPCが少なくとも毎秒再接続を試みることです。Node.js実装でgRPCの再接続動作を変更するにはどうすればよいですか?
Go実装を使用すると、最初にサービスへの接続を確立するときにWithBackoffMaxDelay
ダイヤルオプションを渡すことができます。 Node.js実装で同じことをどうやって行うことができますか?
私はgrpc.max_reconnect_backoff_ms
オプションをクライアントコンストラクタに渡してみました。私が故意に-1のような無効な値を渡すと、gRPCはエラーメッセージを記録するので、正しく使用していると思います。
ただし、このオプションはgRPCの再接続動作に影響しないようです。代わりに、それはおよそすべての20代の再接続を試みるように表示されます。
I0215 21:21:07.246695000 140736304567232 subchannel.c:694] Connect failed: {"created":"@1487190067.246665000","description":"Failed to connect to remote host","errno":61,"file":"../src/core/lib/iomgr/tcp_client_uv.c","file_line":104,"os_error":"connection refused"}
I0215 21:21:07.246910000 140736304567232 subchannel.c:491] Retry in 19.999536519 seconds
がさらに混乱を、gRPCはすなわち、それは常に〜20代の値を使用して、すべてのバックオフアルゴリズムを使用していないようです。
すばやく返信いただきありがとうございます。あなたの答えは私に一歩近づけましたが、残念ながらまだ問題を解決していません。私はいくつかの情報で質問を更新しました。 – csm
@ murgatroid99私の答えを見てください! –