最終更新日:
マイクロサービスとは、一つのシステムを、機能ごとの小さなサービスに分けて作り、APIでつなぐ設計の考え方です。
マイクロサービスでは、たとえば会員、注文、在庫、決済のように機能ごとにサービスを分け、それぞれを別に作り、別に公開し、APIでつなぎます。すべての機能を一つのプログラムにまとめる作り方は、モノリスと呼ばれます。コンテナなどの技術と組み合わせて使われることが多くあります。
サービスごとに別のチームが開発でき、一部の変更をほかに影響させずに公開できます。利用の多い機能だけを増強することもできます。多くのチームが同時に開発する大きなシステムで、開発の速さを保つために採られることがあります。
サービスの数が増えるほど、つなぎ目の管理、障害の切り分け、データの整合の保持が難しくなり、運用の手間と費用も増えます。小さなチームや規模の小さなシステムでは、一つにまとめた作りのほうが扱いやすいことが多くあります。分けること自体を目的にしないことが大切です。
関連する用語
- コンテナ(Docker)アプリケーションと、その実行に必要なものをひとまとめにして、どの環境でも同じように動かす技術です。
- APIソフトウェアやサービスの機能を、ほかのプログラムから呼び出して使えるようにする窓口です。
- Kubernetes多数のコンテナの配置や起動、台数の増減、障害からの復旧を自動で管理する、オープンソースのソフトウェアです。
- 文字コード(UTF-8)文字をコンピューターで扱うために、一つ一つの文字に番号を割り当てる決まりです。
- ライブラリよく使う機能を部品としてまとめ、ほかのプログラムから呼び出して使えるようにしたものです。
- LaravelPHPでWebアプリケーションを作るための、広く使われているフレームワークです。