【ぱぶさぶ】
Pub/Sub とは?
💡 「掲示板に貼る人」と「読む人」の分離
📌 このページのポイント
- Publisher(発行者)とSubscriber(購読者)が直接通信しない疎結合パターン
- Apache Kafka、Google Cloud Pub/Sub、Amazon SNS/SQSが代表的
- イベント駆動アーキテクチャの基盤技術
- メッセージキューとの違いは1対多の配信が可能な点
メッセージキューとの違いは?
Kafkaは Pub/Subなの?
Pub/Subの注意点は?
①メッセージの順序保証(Kafkaはパーティション内で保証、SNSは保証しない)、②少なくとも1回配信(At-least-once)と正確に1回配信(Exactly-once)の違い。At-least-onceだと重複が起きるから、消費者側で冪等処理が必要。③メッセージの処理失敗時の扱い(デッドレターキューに退避)も考慮が必要だよ
どんなシステムで使われる?
まとめ:ざっくりこれだけ覚えればOK!
「Pub/Sub」って出てきたら「発行と購読を分離した非同期メッセージングパターン」と思えればだいたいOK!
📖 おまけ:英語の意味
「Publish/Subscribe」 = 発行/購読
💬 Publish(出版する)とSubscribe(購読する)。雑誌の出版と定期購読の関係に似ているよ