第3回まで無料

メッセージングとマイクロサービス入門コース

モノリスの限界の見極めから、境界の引き方・同期呼び出しの防具(タイムアウト・リトライ・サーキットブレーカ)・Kafka のトピックとオフセット・サーガとアウトボックス、そして「分けない」「モノリスに戻す」という判断まで。全30レッスンで「分けると何が難しくなるかを、数字で見積もれる」ところまで進みます。Kafka 4.3.1 と Node.js 26.9 のプロセスを実際に立てて計測した出力だけを載せています。

カリキュラム

全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ このコースは当サイトで最も前提の多いコースです。Docker は必須、API 設計・NoSQL・監視とオブザーバビリティ を終えていることを想定しています。 ※ サービスを複数立てる回とブローカを動かす回はブラウザ内で実行できないため、手元の Node.js と Kafka で試してください。判断のロジックだけを確かめる短いコードは、ブラウザ上でそのまま実行できます。

Chapter 1 — 分けると何が起きるか(第1〜5回)

分けたとたんに増える仕事を、先に全部見ます。最後は「このまま分けないほうがよい」と言い切れる材料を手に入れます。

Chapter 2 — 同期でつなぐ(第6〜10回)

サービスを直接呼ぶときに必ず要る防具——タイムアウト・リトライ・サーキットブレーカ——を順に足します。最後は 1 つの障害が全体に広がらない形まで組み上げます。

Chapter 3 — 非同期でつなぐ(第11〜18回)

呼ぶのをやめて、出来事を流す形に切り替えます。Kafka を手元で起動し、トピック・パーティション・オフセット・コンシューマグループを実際に動かして確かめます。

11

呼ぶのをやめる — キュー型とログ型

取ったら消えるキューと、読んでも残るログ。同じ「非同期」でも設計が変わる。Kafka で「あとから増えた消費者」を実際に動かす。

🔒 ベーシック
12

Kafka を起動してトピックを作る

KRaft モードなら ZooKeeper 不要でひとつのプロセスだけ。手元で起動し、トピックを作って中身を確かめる。

🔒 ベーシック
13

パーティション — 並列と順序の単位

キーが行き先を決める。同じキーは同じパーティションに行き、そこでだけ順序が守られる。増やすとその保証が壊れる実測つき。

🔒 ベーシック
14

オフセットとコンシューマグループ

どこまで読んだかはグループごとの数字。消費者を増やすとパーティションが分担され、余った 1 人は何もしない。実測する。

🔒 ベーシック
15

プロデューサ — ack と、送ったつもり

acks の 3 段階を 5 万件ずつ測る。手元の 1 台構成では差が出ないことも含めて、正直に見る。

🔒 ベーシック
16

コンシューマ — コミットのタイミング

オフセットをいつ記録するかで、取りこぼすか二重に処理するかが決まる。コミットしない消費者を実際に動かして確かめる。

🔒 ベーシック
17

順序はどこまで守られるか

送った順に読めるのはパーティションの中だけ。9 件を 3 パーティションに流して、読めた順を実際に見る。

🔒 ベーシック
18

再処理と、毒メッセージ

オフセットを巻き戻せば読み直せる。ただし副作用も 2 回走る。壊れた 1 件で止まるキューの逃がし方も決める。

🔒 ベーシック

Chapter 4 — データをどう保つか(第19〜24回)

DB が分かれると、トランザクションも JOIN も使えなくなります。結果整合性・サーガ・冪等性・アウトボックスで、その穴を 1 つずつ塞ぎます。

Chapter 5 — 運用(第25〜28回)

分かれたサービスの障害を切り分け、壊さない順番で出します。最後はメッセージの形を安全に変えるところまで進みます。

Chapter 6 — 判断する(第29〜30回)

分けるコストを数字にして、見積もります。最後は「モノリスに戻す」という選択肢を正面から扱って、このコースを閉じます。

全30レッスンを終えたら、次は分けたサービスを実際に載せる場所——Kubernetes へ。メンバーシップで全コースが解放されます。