web-dev-qa-db-ja.com

パブリッシュ/サブスクライブvsプロデューサー/コンシューマー?

Kafka、rabbit、hornet mq、activemqなどのシステムのメッセージングの観点から... pub/subとprod/conの間に違いはありますか、それとも同じ意味で使用されていますか?

16
user432024

パブリッシュ/サブスクライブとプロデューサー/コンシューマーの両方の用語はメッセージングに関連していますが、それらは異なっており、交換して使用することはできません。

パブリッシュ/サブスクライブは、パブリケーションが複数の受信者に配布されるメッセージングパターンです。プロデューサーはメッセージの送信者であり、コンシューマーはメッセージの受信者です。プロデューサーとコンシューマーは、パブリッシュ/サブスクライブとポイントツーポイントの両方のメッセージングパターンの不可欠な部分です。

お役に立てれば。

11
Shashi

パブリッシュ/サブスクライブモデルとプロデューサー/コンシューマーモデルには違いがあります。

パブリッシュ/サブスクライブ:サブスクライバーはパブリッシャーをサブスクライブします。パブリッシャーがパブリッシュする各メッセージは、すべてのサブスクライバーに送信されます。つまり、すべてのサブスクライバーが同じメッセージを受信します。 (新聞または雑誌の購読を考えてください。すべての購読者は同じ雑誌または新聞を受け取ります)

プロデューサー/コンシューマー:プロデューサーが生成する各メッセージは、単一のコンシューマーによって消費されます。これは、作業負荷を複数のコンシューマに分散するメカニズムです。 (スーパーマーケットの複数のレジを考えてください。各顧客は1つのレジに行きます。顧客は生成されるメッセージのようなものであり、レジは消費者です)

3
Can't Tell

私の理解によると-Prod/Consu-Producerが生成し、Consumerが生成されたタスクを消費します。 -パブリッシャー/サブスクライバー-サブスクライバーがパブリッシャーにサブスクライブされている場合にのみ、パブリッシャーがプロデュースし、サブスクライバーが生成されたタスクを消費します。

どちらも交換可能ですが、後者はアーキテクチャの実際のユースケースの点で意味があります。サブスクリプション契約に基づいてサブスクライブされている場合にのみ、プロデュースおよびパブリッシュします。

ありがとう

1
Maiden