モノリスの限界の見極めから、境界の引き方・同期呼び出しの防具(タイムアウト・リトライ・サーキットブレーカ)・Kafka のトピックとオフセット・サーガとアウトボックス、そして「分けない」「モノリスに戻す」という判断まで。全30レッスンで「分けると何が難しくなるかを、数字で見積もれる」ところまで進みます。Kafka 4.3.1 と Node.js 26.9 のプロセスを実際に立てて計測した出力だけを載せています。
全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ このコースは当サイトで最も前提の多いコースです。Docker は必須、API 設計・NoSQL・監視とオブザーバビリティ を終えていることを想定しています。 ※ サービスを複数立てる回とブローカを動かす回はブラウザ内で実行できないため、手元の Node.js と Kafka で試してください。判断のロジックだけを確かめる短いコードは、ブラウザ上でそのまま実行できます。
分けたとたんに増える仕事を、先に全部見ます。最後は「このまま分けないほうがよい」と言い切れる材料を手に入れます。
サービスを直接呼ぶときに必ず要る防具——タイムアウト・リトライ・サーキットブレーカ——を順に足します。最後は 1 つの障害が全体に広がらない形まで組み上げます。
呼ぶのをやめて、出来事を流す形に切り替えます。Kafka を手元で起動し、トピック・パーティション・オフセット・コンシューマグループを実際に動かして確かめます。
DB が分かれると、トランザクションも JOIN も使えなくなります。結果整合性・サーガ・冪等性・アウトボックスで、その穴を 1 つずつ塞ぎます。
分かれたサービスの障害を切り分け、壊さない順番で出します。最後はメッセージの形を安全に変えるところまで進みます。
分けるコストを数字にして、見積もります。最後は「モノリスに戻す」という選択肢を正面から扱って、このコースを閉じます。
全30レッスンを終えたら、次は分けたサービスを実際に載せる場所——Kubernetes へ。メンバーシップで全コースが解放されます。