JBoss ESB で実行されるパブリッシュ/サブスクライブ サービスの設計に問題があります。おそらく200人のサブスクライバーが聞いているトピックにメッセージを発行できる必要があり、メッセージを受け取ったらメッセージで何かをします。パブリッシュ サービスとサブスクライバー サービスのサンプルを作成して、その方法を紹介します。
これらのサブスクライバーへの配信を保証する必要があります。一定期間オフラインになり、その間にメッセージが公開された場合、オンラインに戻ったときに、それらのメッセージを配信する必要があります。したがって、それは永続的なサブスクライバーである必要があることを意味すると思います (私の理解では、トピックは永続的ではありませんが、サブスクライバーは永続的であると定義されています)。
私は現在、ESB 対応キューに ESB メッセージを貼り付ける発行サービスを持っています。これは、NotifyTopic を呼び出し、ESB 非対応トピックにメッセージを貼り付けます。ESB-Unaware トピックのリスナーを持つサブスクライバーがあり、これは、Web サービスによって処理されるメッセージを送信する httprouter を使用して Web サービスを呼び出します。Webサービスがオフラインの場合(そのシナリオを処理する方法を理解する必要がありますが、まだそこに到達していません)、またはESBサブスクライバーサービスがオフラインの場合(アンインストールしてテストし、メッセージを公開して再インストールすることはほとんどありません - メッセージのバックログが Web サービスに送信されることはありません)。
サブスクライバーを正しく構築していないと確信しています。サブスクライバーを ESB にデプロイする必要があると考えました。それ以外の方法でどのように機能するか、別のサーバーにデプロイされてからESBに接続される方法がわかりません(相互SSL、ファイアウォール、ポートなどをいじる必要がないようにしようとしています)。サブスクライバーを ESB にインストールすることが最善の選択肢であると考えました。しかし、どうすれば耐久性があり、配送が保証されるのかわかりません。