0
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 の違いについて(個人メモ)

0
Posted at

はじめに

IBMのConfluent買収にあたって、KafkaとMQの違いについて社内で学んだ内容の個人メモです。

IBM MQ と Apache Kafka は、得意分野がまったく違う 技術です。
この記事では、最低限知っておけば OK な3ポイントだけに絞って解説します。

1. MQ と Kafka の違いを一言で

  • MQ:特定の相手に「この処理をしてください」という コマンドを確実に届ける 技術
  • Kafka:「注文が発生した」「在庫が変わった」といった 出来事(イベント)を流通・蓄積する 技術

→ MQ は “命令伝達”、Kafka は “出来事共有”。

2. MQ が向いている用途 / Kafka が向いている用途

MQ が向いているケース(確実さが必要)

  • 注文処理
  • 決済処理
  • 在庫引当
  • 業務システム間の確実な連携
  • トランザクション性が重要な処理

Kafka が向いているケース(広く使うデータ)

  • イベント流通
  • リアルタイムデータ連携
  • 分析用データ供給
  • 監査ログ・履歴の蓄積
  • 複数システムへの同報配信

3. なぜ MQ はコマンド処理に強く、Kafka はイベントに強いのか

MQ が強い理由

  • メッセージはキューに入り、処理されるまで保持される
  • トランザクションや永続化により 1件も漏らさない設計がしやすい

Kafka が強い理由

  • イベントをログとして保持し、
    複数システムがそれぞれのタイミングで繰り返し読める
  • 通知用途・分析用途・監査用途などに同じデータを流用しやすい

まとめ

  • MQ:コマンドを確実に届ける
  • Kafka:イベントを広く流す・貯める
  • 用途が違うので、それぞれに合ったものを使用する
0
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
0
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?