0

いくつか (3 つ以上) のアプリ間でデータを送信 (同期) する必要があります。Message Broker はいくつかの問題を解決する必要があります。

  1. 不明な数の受信者に 1 つのメッセージをブロードキャストします。
  2. 成功赤のコントロール。アプリケーションは、このアプリ (接続) に割り当てられたタイムアウトの後で、一度だけ、またはメッセージを成功/読み取ることができます。または、サーバー/MBに高負荷をかけずに、クライアント側で何らかの方法で解決します
  3. すべての受信者がメッセージを読み取った後、メッセージを削除します。中央アプリのクライアント側で解決できますが、ネイティブの可能性が役立ちます。

1 つのアプリケーションだけが、システム全体に存在するアプリの数を認識している必要があります。そうしないと、メッセージ ブローカーの責任に移動できます。

私はすでに試しました: Amazone SQS - これは純粋な Queue であり、高レベルの機器はありません。RabbitMQ - メッセージを削除せずに読み取ることはできません。(別の方法で存在する可能性があります)

4

1 に答える 1

0

RabbitMQは完璧にフィットします。

  1. メッセージはトピックに投稿され、このメッセージはすべての接続/バインドされたキューに複製されます。キューを最初に作成して接続/バインドする必要があります
  2. 各アプリケーションは、メッセージの独自のコピーで動作します
  3. メッセージは削除せずに読み取ることができ、成功プロセスを削除した後にのみ読み取ることができます。キューはAMQP_AUTOACKパラメータなしで作成する必要があり、php.iniではディレクティブamqp.auto_ackは0である必要があります
于 2012-05-26T20:31:43.060 に答える