1

そのため、一部のサイロが何らかの理由 (サーバーがダウンしているなど) で応答しない場合に備えて、Grain Fail-over がどのように機能するかをテストしています。現在、2 つの異なるマシンで実行されている 2 つのサイロがあり、それぞれでグレインがアクティブになっています。次に、サイロの 1 つを (予期せず) 削除します。DEAD サイロでグレインを呼び出そうとすると、タイムアウトの後 (合計で 3 分程度だと思います)、サイロが接続を拒否していることを示す例外がスローされます。現在、サイロが DEAD と宣言された後、アクティブ化を再試行した場合にのみ、穀物が別のサイロでアクティブ化されると考えています。これは私たちにとってうまく機能しています。ただし、ロジックを自分で実行する代わりに、自動的に再試行を行う方法があるかどうかを知りたいです。

4

1 に答える 1

3

まず、3分は長すぎます。デフォルトの liveness 設定を使用している場合は、数十秒になるはずです。どこのシステムストアですか?

自動的に再試行する場合は、すべてのクライアントのグレイン呼び出しをラッパーでラップすることをお勧めします。ラッパーは、たとえば指数バックオフで再試行します。自分で再試行を行うと、より詳細に制御でき、何をどのように再試行するかを制御できます。

于 2016-08-23T15:51:08.230 に答える