TIBCO EMSサーバーは再接続を管理しますか?またはクライアントですか?

StackOverflow https://stackoverflow.com/questions/234634

  •  04-07-2019
  •  | 
  •  

質問

TIBCO EMS .NETリファレンスガイドには(134ページ)と記載されています

  

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

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

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

役に立ちましたか?

解決

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

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

サーバー側では、フォールトトレランスを有効にする必要があり、サーバークライアントとクライアントサーバーのハートビートを有効にする必要があると考えています(まだ検証されていません)。

これがお役に立てば幸いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top