inflearn logo
知識共有
inflearn logo

RabbitMQ 実践活用事例

同期呼び出しの結合問題をメッセージブローカーで解決する原理と実践パターンを学習します。ショッピングモールのシナリオを通じて、Exchange・Queue・Binding構造から再試行・DLQ・べき等性・Transactional Outboxまで、信頼性の高い非同期システム設計の手法を体系的に習得します。RabbitMQとKafkaの境界を理解し、メッセージキューの適切な活用基準を立てることができます。

3名 が受講中です。

難易度 中級以上

受講期間 無制限

Java
Java
Spring Boot
Spring Boot
rabbitmq
rabbitmq
system-design
system-design
asynchronous-programming
asynchronous-programming
Java
Java
Spring Boot
Spring Boot
rabbitmq
rabbitmq
system-design
system-design
asynchronous-programming
asynchronous-programming

受講後に得られること

  • メッセージブローカーベースの非同期アーキテクチャ設計および5つのメッセージングパターンの区分

  • 再試行・DLQ・べき等性・Transactional Outboxなど、信頼性保証メカニズムの理解

  • メッセージキュー導入の判断基準とRabbitMQ・Kafka選択ガイドラインの策定

🤔 会員登録ボタンを押したのに、画面が3秒間止まっていたあの瞬間

一度はこのような経験があるはずです。会員登録のリクエストが入ると、ユーザーをDBに保存し、続いて歓迎メールを送信します。ローカルでは完璧でした。ところが、本番環境にデプロイしたところ、ある日から会員登録のレスポンスに3秒、5秒とかかるようになります。原因を調べてみると、メールサーバーが一時的に遅くなっていただけでした。自社のサービスには問題ないのに、他社のサーバーの都合でユーザーがローディングスピナーを見ることになっていたのです。

決済会社が遅くなれば注文が遅くなり、画像変換に時間がかかればアップロードが止まります。互いに無関係であるべき事柄が一列に結びつき、互いの足を引っ張り合うこと — この結び目を断ち切る道具がRabbitMQです。しかし、いざ学ぼうとすると壁にぶつかります。「パターンは多いけれど、いつ何を使えばいいのか?」「リトライを有効にしたら二重決済が発生した?」「とりあえず全部キューに変えたら、かえって複雑になった」

この講義は、その壁を概念と判断力で乗り越えます。

📌 この講義は次のように進行します

概念説明中心の講義です。コードを書き写す実習はありません。

AIがコードを代わりに書いてくれる時代に、本当の実力は文法を覚えることからは生まれません。"この作業をなぜ、いつ、どのようなパターンで処理すべきか"を判断する眼識から生まれます。この講義が狙っているのは、まさにその眼識です。

  • よく整理された講義教材を提供し、その教材で作成したスライド画像を一緒に見ながら、概念と流れを説明します。

  • サンプルコードは「なぜこのように書くのか」を理解するための材料としてのみ登場します — 環境を構築して手で写す必要はありません。

  • 受講後に残るのは完成されたプロジェクトではなく、どのような状況で、どのパターンを、なぜ選ぶべきかという判断のフレームワークです。

✨ この講義が特別な理由

🗺️ 1. ショッピングモールのシナリオ一つで20講を貫きます

概念をバラバラにしません。平凡なCRUDショッピングモールShopMQ一つが、講義を通じて成長していきます。通知を非同期に変え、→ 画像変換をWorkerに渡し、→ 注文の後続作業をイベントとして分離し、→ 決済の失敗を隔離し、→ ブラウザへのリアルタイム通知まで実装します。一つの文脈の中でパターンに出会うため、各概念が「なぜまさにこの場所に必要なのか」が自然と理解できるようになります。

🎯 2. すべてのパターンを貫く唯一の判断フレーム

"今すぐ応答し、後で処理し、失敗は再処理する。"

この3つのリズムが講義全体の骨組みです。12パターンの手法が、実はこの原則のバリエーションであることに気づいた瞬間、講義になかった新しい状況に直面しても「これは3つのリズムのうち、どれに該当するのか?」と問いかけ、自ら答えを見つけられるようになります。

🛡️ 3. 「メッセージ送信」で終わりではありません

ほとんどのキュー講義が発行と消費で終わります。しかし、実務で本当に事故が起きるのはその次です。この講義は信頼性と回復力を一つのセクション全体で深く扱います — 段階的バックオフ再試行、DLQ(Dead Letter Queue)、べき等性、Transactional Outbox、ACKポリシー。「再試行とべき等性はなぜ必ずセットでなければならないのか」、「イベントはなぜ静かに消えてしまうのか」といった問いに原理で答えます。

🧭 4. いつ「使うべきではないか」まで教えます

キューを学ぶと、すべてをキューで解決したくなります。しかし、キューもコストです。この講義では、過剰使用・誤用の事例とRabbitMQ ↔ Kafka ↔ 専用スケジューラの境界を率直に指摘します。「キューを入れたらかえって複雑になった」という事態を避ける判断力こそが、この講義が残す最も実用的な武器です。

🃏 この講義だけのチートキー

① ショッピングモール一つで20講を貫通 · ② 三拍子の判断フレーム · ③ 信頼性・復元力まで深く · ④ いつ避けるべきかとKafkaの境界まで

🎓 この講義を終えた後にできるようになること

  • 同期呼び出しが引き起こす結合(性能・障害・拡張・変更)の問題を明確に説明できるようになります。

  • Exchange・Queue・Bindingと、Work Queue・Pub/Sub・Routing・Topic・RPCの5つのメッセージングパターンを区別できるようになります。

  • 新しいタスクを前にして、"これはキューに渡すべきことか?"を3つの質問で自ら判断できるようになります。

  • イベントとコマンドを区別し、Fanout/Topicルーティングでサービスを分離する設計センスを身につけます。

  • 再試行・DLQ・べき等性・Outboxが、互いにどのように組み合わさって信頼性を構築するのかを理解します。

  • RabbitMQと他のツールの境界を知り、過剰使用・誤用を避ける眼識を養います。

🚀 判断する眼は、依然として皆さんのものであるべきです

この講義が提供するのは「動作するショッピングモール」ではなく、新しいタスクを前にして「これはキューに渡すべきことか?」と自然に問いかけるようになる思考の枠組みです。

細かな文法はAIが補ってくれます。しかし、何をなぜ作るのかを判断する眼は、依然として皆さんのものであるべきです。その眼を一緒に養っていきましょう。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Spring BootでのCRUD開発経験があり、非同期メッセージングシステムの導入を検討しているバックエンドエンジニア

  • RabbitMQの概念と実践パターンを体系的に整理したいジュニア・ミドル開発者

  • システム設計のインタビューおよびマイクロサービスアーキテクチャの学習が必要な開発者

前提知識、
必要でしょうか?

  • Javaの基本文法とSpring Bootフレームワークの使用経験

  • RESTful APIの開発およびHTTP通信方式に関する理解

  • JPAの基本概念とデータベーストランザクションに関する基礎知識

こんにちは
oncodingです。

698

受講生

13

受講レビュー

20

回答

4.3

講座評価

8

講座

カリキュラム

全体

22件 ∙ (6時間 13分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

oncodingの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥15,400

30%

¥2,888