私は Active MQ を初めて使用します。Active MQ (または Apollo) で次のことが可能かどうか疑問に思っていました。
基本的に、特定のサイトを有効または無効にするメッセージを生成するプロセスがあります。メッセージ (有効化/無効化) が ActiveMQ に送信されると、メッセージのルーティング キーに応じて、そのメッセージの複数のコンシューマーが存在する可能性があります。たとえば、サイト A を有効にするメッセージの場合、ルーティング キーは site.A.enable になります。また、サイト A キューを監視しているサイト A は、このメッセージと、すべての有効化/無効化メッセージを監視するシステム全体のプロセッサを受け取ります。
これは、トピックを使用する Active MQ で実行できると思います。SiteA は のすべてのトピックをサブスクライブしsite.A.*
、システム プロセスは および のすべてのトピックをサブスクライブしsite.*.enable
ますsite.*.disable
。 それは ActiveMQ でそれを行うための最良の方法ですか?
site.B.*
また、siteA がorsite.C.*
トピックをサブスクライブできないことも確認したいと思います。からのメッセージのみを受信できますsite.A.*
。また、システム プロセスはすべてのsite.*.*
トピックにアクセスできます。これもセキュリティプラグを介して行うことができると思います。構成ファイルを更新して、各サイト トピックの読み取り/書き込み/管理アクセスを指定し、接続しているサイトを識別するユーザー/パスまたは LDAP に接続します。 あれは正しいですか?サイトが外部の場合、それは機能しますか?
最小限の構成/セットアップで新しいサイトを追加できるようにしたいと考えています。siteX がオンラインになると、パブリッシャー コードは他のすべてのメッセージと同じようにsite.X.*
メッセージをパブリッシュしますが、最初のメッセージがパブリッシュされたときに動的に作成されるトピックに送信されます。site.X
また、消費者も動的に消費を開始できます。
これが私の問題です。サイト X が site.X トピックに「動的に」しかアクセスできないというセキュリティを追加するにはどうすればよいですか? 構成ファイルを編集して、新しいサイトのセキュリティを追加する必要があると思います。そして、サーバーを停止/起動して、新しい設定を取得する必要があります。サーバー上の構成を編集できるかもしれませんが、新しいサイトを追加するたびに停止/開始できるとは思いません。
これを達成するためのより良い方法はありますか?
ありがとう!