2016-11-27 13 views
0

私はRabbitMQと組み合わせてMassTransitの周りに頭を上げようとしています。 基本的なコンセプトはテストプロジェクトで作業していますが、必要なものは次のとおりです。信頼性の低いネットワーク環境でMassTransitを設定するにはどうすればよいですか?

私のシステムには、実際の出来事(電話)に反応する1台以上のサーバーがあります。これらのイベントは、MassTransitとRabbitMQを使用して、RabbitMQホストとしてセットアップされた別のサーバーを介して1つ以上の受信者がピックアップするメッセージに変換されます。ここまでは順調ですね。

しかし、私はいつもパブリッシャーとホストマシンの間に接続があるとは思いません。パブリッシングサーバーは実際の生活イベントを消費し続けますが、メッセージを公開することはできません。

質問:MassTransitには、接続が再確立されるまで何らかの方法でローカルにメッセージを格納するメカニズムがありますか? また、ローカル交換機を作成するために、すべての公開サーバにRabbitMQをインストールする必要がありますか?それから私は、再接続後に交換機を同期させる必要があります。

答えて

2

おそらくストアを実装し、ポリシーを転送する必要があります。 MassTransitとRabbitMQを介してメッセージを直接公開する代わりに、永続リポジトリ(ローカルデータベース)にメッセージを格納し、以前に格納されたメッセージのMasstransitによる通知を別のプロセスに委譲することができます。このアプローチは、しばしば「クライアントの高可用性」と呼ばれます。これは、RabbitMQで実装されているような標準のHA(高可用性)をサーバー上で置き換えるものではありません。しかし、サーバの障害のシナリオで多くの手助けをすることができるため、分散システムで使用するのは良いアプローチです(たとえば、RabbitMQサーバ上で、店舗内にまだ残っているメッセージが失われるなど)あなたはそれを再び処理させることができます)。

関連する問題