メッセージング系ミドルウェア¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. 送信元と宛先の対応関係¶
プロデュース/コンシュームパターン¶
▼ プロデュース/コンシュームパターンとは¶
▼ プルベース¶
- AWS SQS
▼ プッシュベース¶
パブリッシュ/サブスクライブパターン¶
▼ パブリッシュ/サブスクライブパターンとは¶
送信元から宛先に非同期的に一方向で通信する。
送信元と宛先で通信処理が独立して実行されるため、メッセージ仲介システムを経由した非同期通信を実行することになる。
送信元はメッセージ仲介システムにメッセージをパブリッシュする。
プルベースベースの場合、宛先はメッセージ仲介システムからメッセージにポーリングを実行し、サブスクリプションする。
プッシュベースの場合、メッセージ仲介システムは、メッセージを宛先にサブスクリプションする。
▼ プルベース¶
- RabbitMQ (プルベースだけでなく、プッシュベースも選べる)
- Apache Kafka
▼ プッシュベース¶
- RabbitMQ (プッシュベースだけでなく、プルベースも選べる)
- AWS SNS
- AWS EventBridge
ストリーミングパターン¶
▼ ストリーミングパターンとは¶
プルベースベースの場合、宛先はメッセージ仲介システムからメッセージにポーリングを実行し、ストリーミングする。
プッシュベースの場合、メッセージ仲介システムは、メッセージを宛先にストリーミングする。
▼ プルベース¶
- Apache Kafka
- AWS Kinesis (プルベースだけでなく、プッシュベースも選べる)
▼ プッシュベース¶
- AWS Kinesis (プッシュベースだけでなく、プルベースも選べる)
02. 宛先のメッセージ受信方式¶
プルベース¶
メッセージの宛先は、メッセージ仲介システムにポーリングを実行し、メッセージを受信する。
宛先で障害が起こっていても、障害の回復後にメッセージを処理すればよいため、耐障害性が高い。
プッシュベース¶
メッセージ仲介システムは、宛先にメッセージを送信する。
宛先で障害が起こっていると、メッセージが損失する可能性があるため、耐障害性が低い。
これに対処するために、メッセージ仲介システムで、再試行やデッドレターキューが必要になる。
03. メッセージ仲介システム¶
メッセージブローカー¶
記入中...
メッセージキュー¶
記入中...
イベントバス¶
記入中...