2

TIBCO EMS .NET リファレンス ガイドには次のように書かれています (pg 134)。

再接続動作とフォールト トレランスを有効にするには、serverURL パラメーターを 2 つ以上の URL のコンマ区切りリストにする必要があります。サーバーが 1 つしかない状況では、そのサーバーの URL の 2 つのコピーを指定して、クライアントの再接続を有効にすることができます (たとえば、tcp://localhost:7222,tcp://localhost:7222)。

TIBCO EMS ユーザー ガイド (pg 292) では、フェールオーバー シナリオ、クライアント通知、バックアップ サーバーへのクライアントの自動転送について説明していますが、特に「再接続」に関連するものはありません。

「再接続」シナリオでは、サーバーがすべてを処理しますか? または、クライアントは TIBCO.EMS.Connection インスタンスで何かをする必要がありますか?

4

1 に答える 1

4

サーバーとクライアントの両方にこの機能を有効にする設定があるようです。クライアント側では、SetReconnAttemptCount、Delay、Timeout が、サーバーのフェールオーバー/接続のフェールオーバーを認識すると、クライアントが再接続を試みる試行を制御します。

私たちのテストでは、単一のサーバー環境を使用し、接続文字列にサーバーを 2 回リストし (上記で概説したトリックを使用)、そのサーバーがオフラインになったときに、フェールオーバー プロセスが有効になっているというクライアント通知を受け取りました (Tibems を有効にしました)。 .SetExceptionOnFTSwitch(true)) であり、サーバーがオンラインに戻ったとき、クライアントはビートを逃さずに再接続したようです。何もコーディングする必要はありませんでした。内部の再接続ロジックが魔法のように機能しました。

サーバー側では、耐障害性を有効にする必要があり、サーバー-クライアントおよびクライアント-サーバーのハートビートを有効にする必要があると思います (ただし、これはまだ検証されていません)。

お役に立てれば。

于 2008-10-24T19:51:44.440 に答える