あとがき:すべてをまとめる

本書では、多くの分野をカバーし、その過程で数多くのアドバイスを行ってきました。対象範囲が広いことを考えると、マイクロサービスアーキテクチャに関する私の重要なアドバイスを要約することに、意味があると考えました。本書を全部読んだ読者にとっては、とても良い復習になるはずです。せっかちで、急いで最後まで来てしまった読者は、このアドバイスの背景に「多くの」詳細があることに注意してください。また、こうしたアイデアを盲目的に採用するのではなく、背後にある詳細についてもよく読むことを勧めます。

そして、この最後の章は、できるだけ簡潔にまとめることを目標としています。さっそく始めましょう。

マイクロサービスとは

1章で紹介したように、「マイクロサービス」は、独立デプロイ可能性に焦点を当てたサービス指向アーキテクチャ(SOA)の一種です。「独立デプロイ可能性」とは、他のマイクロサービスを変更する必要なしに、マイクロサービスを変更し、そのマイクロサービスをデプロイし、その機能をエンドユーザにリリースできることを意味します。マイクロサービスアーキテクチャを最大限に活用することは、この概念を採用することです。通常、各マイクロサービスをプロセスとしてデプロイし、何らかの形式のネットワークプロトコルを介して、他のマイクロサービスとの通信を行います。マイクロサービスの複数インスタンスをデプロイすることは、一般的です。これにより、さらなるスケールを提供したり、冗長性を持たせることで、堅牢性を向上させたりすることができます。

独立デプロイ可能性を実現するには、あるマイクロサービスを変更する際に、他のマイクロサービスとの対話を壊さないようにする必要があります。そのためには、他のマイクロサービスとのインタフェースを不変にし、後方互換性がある方法で変更を行う必要があります。2章で説明した「情報隠蔽」は、できるだけ多くの情報(コード、データ)をインタフェースの背後に隠蔽する、というアプローチでした。サービスインタフェースでは、コンシューマを満足させる必要最低限のことだけを、公開すべきです。公開する情報が少ないほど、行った変更が後方互換性を持つようにすることが、より簡単になります。また、情報隠蔽により、コンシューマに影響しないような方法で、マイクロサービス境界内で技術的な変更を加えることができます。 ...

Get マイクロサービスアーキテクチャ 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.