Open3

MessageQueueを体系的に学んで各サービスを比較する

occhiocchi

MQについて

MQの一般的な用語が網羅的に解説されていそう。
https://ja.wikipedia.org/wiki/メッセージキュー
https://ja.wikipedia.org/wiki/メッセージ指向ミドルウェア

https://aws.amazon.com/jp/message-queue/benefits/

プロトコル

MQではいろいろなプロトコルが使われてそう。

  • AMQP (Advanced Message Queuing Protocol)
  • STOMP (Simple Text Oriented Messaging Protocol)
  • MQTT (Message Queuing Telemetry Transport)

Amazon SQS

  • HTTP/HTTPS API 経由で操作。標準化された MQ プロトコルは使わない。

Google Pub/Sub

  • gRPC や REST API ベースでやりとり。

関連記事

https://qiita.com/koduki/items/e90ee1fea5aa75071d95
https://dev.classmethod.jp/articles/sqs-introduces-fair/

occhiocchi
項目 Amazon SQS Google Pub/Sub
通信プロトコル HTTP/HTTPS (REST API) gRPC / HTTP REST
配信方式 Pull 型のみ (Long Polling 推奨) Pull 型 + Push 型 両対応
Ack 処理 Visibility Timeout ベース Ack/Nack 明示的処理
配信保証 At-least-once (FIFOで順序保証) At-least-once / Exactly-once 選択可
リアルタイム性 SNSとの併用でPush実現 Push型サブスクリプションあり
occhiocchi

あとは猪本の該当章を呼んだら良さそうかな
SQSとPub/Subは触ってみるとよさそう。