私はすべての長所と短所、いつ、なぜなどの高レベルの概要を取得しようとするマイクロサービスアーキテクチャを研究してきました。私が読んで/見ている情報の多くは、ThoughtWorks(Martin Fowler、Neal Fordなどからのものです) al)。
この問題に関するMartin Fowlerの仕事の大部分は数年前のものであり、Microservices(プログラミングの一般的な名称ではないが)がまだ若かったため、私はその多くを少しずつ理解しました。
特に、これは次のとおりです。
マイクロサービスアーキテクチャを使用するチームの話を聞いていると、共通のパターンに気づきました。
- 成功したマイクロサービスストーリーのほとんどすべては、大きくなりすぎて分割されたモノリスから始まりました。
- 最初からマイクロサービスシステムとして構築されたシステムについて聞いたほとんどすべての場合、それは深刻な問題に終わっています。
このパターンにより、多くの同僚は、アプリケーションが価値があるほど十分に大きいアプリケーションであっても、マイクロサービスで新しいプロジェクトを開始すべきではないと主張しました。。
(参照:https : //martinfowler.com/bliki/MonolithFirst.html-彼らを強調)
さて、3年後、マイクロサービスがよりユビキタスな言葉になりましたが、新しいシステムは通常、最初により大きい(-microservice-but-smaller-than-monolith)サービスチャンクを用意し、それらは進化的測定の一部としてより細かく?
または、上記のステートメントとは対照的に、きめ細かなマイクロサービスアーキテクチャを使用してプロジェクトをゼロから開始する基準はありますか?
正気な一般的なアプローチのようですが、コミュニティの考えに興味があります。