| 項目 | Google Cloud Pub/Sub | Apache Kafka |
|---|---|---|
| 管理方式 | フルマネージド(サーバーレス) | セルフマネージド(インフラ管理が必要) |
| 配信モデル | Push/Pull両方 | Pullのみ |
| メッセージ保持 | 最大7日間(デフォルト7日) | 設定次第で無制限(ディスク容量まで) |
| 順序保証 | Ordering Keyを使用(同じKey内でのみ) | パーティション単位で保証 |
| スケーラビリティ | 自動スケーリング | 手動でパーティション追加・クラスタ拡張 |
| 料金モデル | 従量課金(データ量・リクエスト数) | インフラコスト(サーバー・ストレージ) |
| レイテンシ | やや高め(数百ms) | 低い(数ms〜数十ms) |
| 再配信 | Seekを使用して特定時点に戻れる | Offsetで任意の位置から読み取り可能 |
| エコシステム | GCP統合(Dataflow、BigQueryなど) | 豊富な外部ツール(Kafka Connect、KSQL) |
| 運用負荷 | 低い(GCPが管理) | 高い(Zookeeper、ブローカーの管理) |
Google Cloud Pub/Subシンプルで運用が楽なメッセージング GCPを使っていて、運用負荷を減らしたい場合や、中小規模のメッセージングには最適。Push配信やGCPサービスとの統合が強み。 |
Apache Kafka高性能で柔軟なストリーミング 大規模データ処理やリアルタイム分析、複雑なストリーム処理が必要な場合に最適。運用負荷は高いが、パフォーマンスと柔軟性は抜群。 |