【まいくろさーびす】
マイクロサービス とは?
💡 大きなアプリを「小さな部品」の集合体に分割する
📌 このページのポイント
モノリスと何が違うの?
いつマイクロサービスにすべき?
最初からマイクロサービスにするのは避けるべきだよ。まずモノリスで作り、チームが大きくなったり特定の機能だけスケールしたい場面が出てきたら分割を検討する。10人以下のチームでマイクロサービスにすると運用コストの方が高くつく。「Monolith First」が現代の定石だね
サービス間の通信は?
分散システムの難しさは?
①ネットワーク障害(サービス間の通信が失敗する)、②分散トランザクション(複数サービスにまたがる処理の整合性)、③デバッグの困難さ(ログが複数サービスに分散)、④サービスディスカバリ(動的にサービスの場所を見つける)。分散システムの8つの誤謬(Fallacies of Distributed Computing)は必読だよ
まとめ:ざっくりこれだけ覚えればOK!
「マイクロサービス」って出てきたら「アプリを独立した小さなサービスに分割するアーキテクチャ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Microservices Architecture」 = マイクロサービスアーキテクチャ
💬 Micro(小さな)Services(サービス)を組み合わせてシステムを構築する考え方だよ