問題タブ [message-bus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
design-patterns - エンタープライズ統合メッセージング パターンについて
私は現在、Enterprise Integration Patterns: Messaging book を読んでいます。
しかし、特に NServiceBus、MassTransit、別の方法での RabbitMQ などの既存の実装を見ると、パターンとそのアプリケーションを理解するのにまだ苦労しています。
http://www.enterpriseintegrationpatterns.com/patterns/messaging/index.html
たとえば、メッセージング チャネルのセクションにはPointToPoint
, PubSub
ANDがありますが、他のタイプのチャネルと比較MessageBus
した理由がよくわかりません。MessageBus
仕事と教育の両方の目的でカスタム実装に取り組もうとしています。完全な機能を備えたライブラリを手に入れたくはありませんが、適切に実装したいと考えています。
各パターン (または少なくとも最も一般的なパターン) の単純な実装とそれらの接続に関する資料は見つかりませんでした。
たとえば、Endpoint
I understand that it can be both a Receiver
or a Sender
so it can send(Message)
or receive()
but then, the difference between the ? との違いは何MessageBus
ですか?
つまり、私は ? をサブスクライブできるということEndpoint
ですsubscribe(MessageType, Handler)
。
また、それがキュー システム (RabbitMQ やカスタム SQL 実装など) とどのように接続されているかもよくわかりません。
エンドポイントは、キューからエンキュー/デキューすることにより、キューを介してメッセージを交換しますか? これはチャネルで発生しますか?
rabbitmq - RabbitMQ+MassTransit:キューに入れられたメッセージを処理からキャンセルするには?
いくつかの例外的な状況では、一部のメッセージを処理してはならないことを受信ポイントで消費者に伝える必要があります。そうしないと、2 つのシステムが同期しなくなります (一部の古い外部システムを処理します。たとえば、接続が切断された場合、その接続の範囲内でキューに入れられたすべての操作を破棄する必要があります)。
危険を冒して問題メッセージを手動で解決しますか? 補償アクション (私の場合はサポートが難しいかもしれません)? 他に何か?