私はこの質問と対応する回答を読んでいて、回答の最初の行にあるJMSブローカーという用語に混乱しました。
MS(ActiveMQはJMSブローカーの実装です)
正確にはJMS broker
何であり、その責任は何ですか?
JMSに関するウィキペディアのページには、JMSエコシステムのいくつかの要素がリストされていますが、ブローカー自体については言及されていません。
私はこの質問と対応する回答を読んでいて、回答の最初の行にあるJMSブローカーという用語に混乱しました。
MS(ActiveMQはJMSブローカーの実装です)
正確にはJMS broker
何であり、その責任は何ですか?
JMSに関するウィキペディアのページには、JMSエコシステムのいくつかの要素がリストされていますが、ブローカー自体については言及されていません。
JMSブローカーとは何かについての公式の定義は実際にはありませんが、メッセージキューとブローカーの間には概念的な違いがあります。これが私の見解です。
message broker
は、メッセージ処理コードの実行を担当する別のマシンで実行される可能性のある別のプロセスになります。メッセージブローカーの大きな価値は、メッセージを同時に処理するためのいくつかの本当に素晴らしいこと、処理ロジックのフェイルオーバー、処理ロジックの展開、監視とロギングなどを実行できることです。メッセージブローカーを特殊なものと考えてください。おそらくカスタムの高レベル言語でメッセージ処理コードを記述するためのアプリケーションサーバー。たとえば、IBMメッセージ・ブローカーは、相互に接続する図やノードとともに、SQLの拡張機能であるESQLにプログラムすることができます。メッセージボーカー用に作成されたプログラムは、プレーンなJMSを使用してすべてのコードを自分で作成した場合よりも短くなります。
ブローカーは一元化または分散化できるため、たとえば、ニューヨークに中央ブローカーを配置し、ロンドンと香港にクライアントを接続することができます。または、ブローカーを分散させて、ロンドンと香港でインスタンスを実行し、メッセージの送信元/宛先の近くでメッセージ処理を実行することもできます。これはすべて、管理インフラストラクチャと、データベースなどの他のリソースに依存します。と話す必要があります。