3

Quickfix/Jを使用してFIXプロトコルを実装しています。問題は、アプリケーションが稼働するときに、アプリケーションをサポートする2台のサーバーがあることです。ただし、FIXエンジンが稼働しているサーバーは1つだけです。計画では、FIX要求を他のサーバーからQuickfixが実行されているサーバーにルーティングします。両方のサーバーのコードはまったく同じです。サーバーをインテリジェントにして、他のサーバーによってFIX接続がすでに確立されているかどうかを確認する必要があるため、行き詰まりました。接続が確立されていない場合、このサーバーは接続を作成します。接続がすでに存在する場合、それはかなり維持されます。これは将来さらに拡張され、サーバーがFIXを持っている他のサーバーを見つけてダウンすると、独自のFIXエンジンを起動します。今のところ、

4

1 に答える 1

0

考えられる1つの方法は、相手から受信したハートビートメッセージを使用することです。ハートビートメッセージが到着している場合は、接続が確立されており、アクションを実行する必要がないことを意味します。方法論をどのように実装するつもりかは、解釈の余地があります。メッセージバスまたは2FIXエンジン間で共有されるものを使用できます。しかし、それは単なる提案であり、FIXプロジェクトに取り組んでいる間、私はこのame方法論を使用していました。

更新:-私がしたことは、コントローラーを備えた2つのエンジンの背後にメッセージブローカーを配置することでした。コントローラの唯一の義務は、ハートビートメッセージをチェックし続けることでした。ハートビートメッセージを見逃した瞬間に、実行中のFIXエンジンに何らかの問題があったと想定して、予備のFIXエンジンに信号を送信して起動します。このアーキテクチャにはそれほど複雑なものはなく、追加のコンポーネントだけがあります。しかし、これは選択肢の1つに過ぎず、他にもたくさんあるかもしれません。

于 2012-01-30T14:27:42.660 に答える