YAML
メッセージキューシステム - YAML
メッセージキューシステムは、分散システム間の非同期通信を実現するためのミドルウェアです。高スループットなストリーミング処理、低レイテンシーのメッセージング、クラウドネイティブなマネージドサービスなど、様々な特性を持つシステムが存在します。RabbitMQ、Apache Kafka、Amazon SQS、Redis、ActiveMQ、NATS、Apache Pulsarなど、主要なメッセージキューシステムを紹介します。
メッセージキュー
分散システム
非同期通信
ミドルウェア
イベントストリーミング
マイクロサービス
- code: "01"
slug: "rabbitmq"
name: "RabbitMQ"
description: "柔軟なルーティングを持つオープンソースのメッセージブローカーです。"
type: "message-broker"
protocols:
- "AMQP"
- "MQTT"
- "STOMP"
throughput: "~1M messages/sec"
latency: "1-20ms"
persistence: true
messageReplay: false
cloudNative: false
deployment:
- "self-hosted"
- "cloud-managed"
- code: "02"
slug: "apache-kafka"
name: "Apache Kafka"
description: "高スループットな分散イベントストリーミングプラットフォームです。"
type: "event-streaming"
protocols:
- "Kafka Protocol"
throughput: "10M+ messages/sec"
latency: "2-10ms"
persistence: true
messageReplay: true
cloudNative: false
deployment:
- "self-hosted"
- "managed"
- code: "03"
slug: "amazon-sqs"
name: "Amazon SQS"
description: "AWSが提供するフルマネージドのサーバーレスメッセージキューサービスです。"
type: "managed-queue"
protocols:
- "AWS API"
throughput: "~300K messages/sec"
latency: "10-100ms"
persistence: true
messageReplay: false
cloudNative: true
deployment:
- "managed"
- code: "04"
slug: "redis-streams"
name: "Redis Streams"
description: "インメモリデータストアのRedisが提供するストリーミング機能です。"
type: "in-memory-stream"
protocols:
- "Redis Protocol"
throughput: "Very High"
latency: "Ultra Low"
persistence: "optional"
messageReplay: true
cloudNative: false
deployment:
- "self-hosted"
- "managed"
- code: "05"
slug: "apache-activemq"
name: "Apache ActiveMQ"
description: "JMSベースの伝統的なエンタープライズメッセージブローカーです。"
type: "message-broker"
protocols:
- "JMS"
- "AMQP"
- "MQTT"
- "STOMP"
- "OpenWire"
throughput: "Medium"
latency: "Medium"
persistence: true
messageReplay: false
cloudNative: false
deployment:
- "self-hosted"
- code: "06"
slug: "nats"
name: "NATS"
description: "クラウドネイティブな軽量メッセージングシステムです。"
type: "cloud-native-messaging"
protocols:
- "NATS Protocol"
throughput: "Very High"
latency: "Ultra Low"
persistence: "optional"
messageReplay: true
cloudNative: true
deployment:
- "self-hosted"
- "managed"
- code: "07"
slug: "apache-pulsar"
name: "Apache Pulsar"
description: "マルチテナンシーと階層型ストレージを持つ分散メッセージングシステムです。"
type: "event-streaming"
protocols:
- "Pulsar Protocol"
throughput: "Very High"
latency: "Low"
persistence: true
messageReplay: true
cloudNative: true
deployment:
- "self-hosted"
- "managed"
- code: "08"
slug: "google-pubsub"
name: "Google Cloud Pub/Sub"
description: "Google Cloudが提供するフルマネージドのメッセージングサービスです。"
type: "managed-queue"
protocols:
- "Google Cloud API"
throughput: "Very High"
latency: "Low"
persistence: true
messageReplay: true
cloudNative: true
deployment:
- "managed"
- code: "09"
slug: "azure-service-bus"
name: "Azure Service Bus"
description: "Microsoft Azureが提供するエンタープライズ統合メッセージングサービスです。"
type: "managed-queue"
protocols:
- "AMQP"
- "HTTP/REST"
- "SBMP"
throughput: "High"
latency: "Low-Medium"
persistence: true
messageReplay: false
cloudNative: true
deployment:
- "managed"
- code: "10"
slug: "rocketmq"
name: "Apache RocketMQ"
description: "Alibabaが開発した高可用性の分散メッセージングプラットフォームです。"
type: "message-broker"
protocols:
- "RocketMQ Protocol"
throughput: "Very High"
latency: "Low"
persistence: true
messageReplay: true
cloudNative: true
deployment:
- "self-hosted"
- "managed"