1

どのソフトウェアがメッセージ指向ミドルウェアで、何がメッセージ キューであるかをどのように区別すればよいのでしょうか。

さらに進んで - サービス バスはキューまたはメッセージ指向のミドルウェアを使用しますか? それとも、サービス バス自体がメッセージ指向のミドルウェアなのでしょうか。

たとえば、RabbitMQ は単なるメッセージ キューですか、それともメッセージ指向のミドルウェア機能も含んでいますか?

この用語は、バズっていてぼやけているようです。ご意見をお聞かせください。ありがとうございました :)

4

1 に答える 1

2

ウィキペディアによると:

メッセージ指向ミドルウェア (MOM)は、分散システム間のメッセージの送受信をサポートするソフトウェアまたはハードウェア インフラストラクチャです。

コンピューター サイエンスでは、メッセージ キューとメールボックスは、プロセス間通信 (IPC)、または同じプロセス内のスレッド間通信に使用されるソフトウェア エンジニアリング コンポーネントです。

メッセージ キューを低次の抽象化、つまり、メッセージがどのように編成、保存、および配信されるかという概念として説明します。

メッセージ指向ミドルウェアの場合、メッセージ キューは必須ではありません。たとえば、任意のメッセージをブロードキャストし、ネットワークやその他の遅延、または潜在的な障害やメッセージの損失を気にしない MOM を使用できます。この場合、メッセージの配信と配信順序は保証されません。確かに、これは非常に特殊なユース ケースですが、そのようなソフトウェア (またはハードウェア) を MOM と呼ぶことができます。

したがって、RabbitMQ自体はメッセージ指向のミドルウェアです。内部的には、メッセージの保存に FIFO キューを使用します。ウィキペディアにも同じことが書かれています:

RabbitMQは、Advanced Message Queuing Protocol (AMQP) を実装するオープン ソースのメッセージ ブローカー ソフトウェア (メッセージ指向ミドルウェアと呼ばれることもあります) です。

NServiceBus に関しては、トランスポートとして MOM (デフォルトでは MSMQですが、RabbitMQ などの他のトランスポート サポートを有効にすることもできます) を使用するため、メッセージ キューイングの概念と MOM 自体を利用します。定義によると、NServiceBus は MOM そのものです (ほとんどのトランスポート MOM よりも高いレベルです)。

したがって、NServiceBus はアーキテクチャの概念に似ており、さまざまな MOM の上に抽象化されています。詳細については、NServiceBus のアイデアを得るのに役立つ SO に関する、Plan RabbitMQ の質問に対する NServiceBus の特定の利点を参照してください。

于 2014-08-07T10:47:45.080 に答える