1

Solaceを使用して「メッセージグループ化」(ActiveMQによる)シナリオを設定した人はいますか。

たとえば、多数のメッセージ (注文など) があるとします。各注文には一意の注文 ID があります。注文の修正/変更には同じ注文 ID があります。異なる注文 ID に対してラウンド ロビン ディスパッチを使用したいのですが、同じ注文 ID のメッセージが「順番に」処理されるようにする必要があります。

メッセージ グループは特にこの問題を解決しますが、Solace で同じことを実装する方法がわかりません。

-- 追加のコンテキスト

グループを提供する TOPIC/orders/ のようなトピック構造の使用を検討しています。そして、TOPIC/orders/* 経由でサブスクライブします ...

ドキュメントから、すべてのコンポーネントが利用可能であるかのように見えます: トピック名によるグループ化、保証されたメッセージ、アプリケーション確認、非排他的キューによるラウンド ロビン ディスパッチ... しかし、これらをどのようにもたらすかを示す具体的な例は見当たりません。一緒に「メッセージグループ」の問題を解決します。

ありがとう。

4

1 に答える 1

1

Solace アプライアンス/VMR では、JMSXGroupIDアプリケーションによる書き込み/読み取りが可能ですが、メッセージ配信には影響しません。

ActiveMQ の動作をシミュレートするために一般的に使用される 2 つのオプションを次に示しますJMSXGroupID

  1. 複数の専用キューを使用し、トピックに従って注文をハッシュします。

  2. リクエスト/リプライ モデルを使用します。

    a) 初回受注の周知トピックスを設ける -TOPIC/INITIAL

    INITIAL_QUEUEb)に送信されたすべてのメッセージを受信するように構成された非排他的キューを作成します。TOPIC/INITIAL

    c) 新しい通信の宛先がない発行者は、最初のメッセージを に送信しますTOPIC/INITIAL。これにより、初期メッセージが複数のコンシューマーに負荷分散されます。

    d) メッセージがコンシューマーによって処理されると、コンシューマーは別の既知のトピック/キューを使用してパブリッシャーに返信を送信し、同じコンシューマーによって処理されるさらなる注文の更新を行います。パブリッシャーは、すべてのメッセージが同じコンシューマーに送信されるように、この宛先にさらに更新を送信します。これは、返信先の宛先やピア ツー ピアの受信トレイ トピックなどの機能を介して、Solace API で簡単に処理できます。

于 2016-06-15T07:40:20.710 に答える