3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MQとKafkaの違いを自分なりに整理してみた

Last updated at Posted at 2025-12-23

はじめに

最近、個人的にKafkaの話をする機会が増えてきて、
「MQとkafkaって何が違うのですか」とご質問をいただくことがありました。
一方で、これまで長く使われてきたMQも、今なお多くの現場で重要な役割を担っています。

どちらも「メッセージング」と呼ばれる技術ですが、
同じ土俵で比較すると、かえって混乱することが多いと感じています。

この記事では、
「機能比較」や「性能比較」ではなく、
実際にどう使われているかという視点で
MQとKafkaの違いを整理してみます。


一言で言うと何が違う?

まずはかなり雑にまとめると、こんな違いになります。

観点 MQ Kafka
基本思想 確実に届ける 流れを止めない
主な用途 業務処理・基幹連携 イベント・データストリーム
メッセージの扱い 処理後に消える ログとして残る

この時点で、
「似ているようで、考え方が結構違う」
という雰囲気が伝われば十分です。


処理モデルの違い

ここが一番イメージしやすいポイントです。

MQの場合

  • Producerがメッセージをキューに送る
  • Consumerがそれを受け取り、処理する
  • 処理が完了したらメッセージは消える

MQは、
「1メッセージ=1業務処理」
という考え方がとてもはっきりしています。

この処理を、確実に一度だけ完了させたいという業務に向いています。


Kafkaの場合

  • Producerがデータをトピックに書き込む
  • データはログとして一定期間保持される
  • Consumerは必要なタイミング・位置から読む

Kafkaでは、
データを処理するというより、流れとして残す
という考え方が中心になります。

同じデータを、

  • あるサービスはリアルタイム処理に使い
  • 別のサービスは後から分析に使う

といった使い方が自然にできます。


実務ではどう使い分けているか

「じゃあどっちを使えばいいの?」と聞かれることも多いですが、
実際には使い分けるケースがほとんどです。

MQが向いているケース

  • 基幹系システムの連携
  • バッチ処理や業務トランザクション
  • 失敗したら困る処理
  • 処理順序が重要なケース

Kafkaが向いているケース

  • イベント通知
  • リアルタイム分析
  • 複数システムで同じデータを使いたい場合
  • 将来の用途がまだ見えていないデータ

「どちらか一方を選ぶ」というより、
役割に応じて組み合わせるのが自然だと感じています。


まとめ

MQとKafkaは、
同じ「メッセージング」という言葉で語られがちですが、
根底にある思想はかなり異なります。

  • MQは 確実な業務処理 のための仕組み
  • Kafkaは 流れとしてのデータを活かす ための仕組み

この違いを意識できると、
技術選定の議論がぐっと整理しやすくなります。

軽めな整理として誰かの理解の助けになれば嬉しいです。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?