マイクロ・サービス・アーキテクチャの利点と課題

マイクロサービスの利点

開発や保守が容易な1:それは明確なビジネス、少ないコードであるので、マイクロサービスは、特定のビジネス機能に焦点を当てます。単一のマイクロサービスの開発とメンテナンスが非常に簡単です。アプリケーション全体をマイクロ複数のサービスで構成され、全体のアプリケーションはまた、制御された状態に維持されます。

2つのマイクロ迅速なサービスが開始:より迅速に開始するように、単一のマイクロサービスコード量が少ないです。

3一部変更は、導入が容易である:長いの修正として、アプリケーション全体を再デプロイする必要があるように、単一のアプリケーションでは、マイクロサービスは、このような問題を解決します。一般的には、マイクロサービスのみを再デプロイするためのサービスを必要とする変更します。

4技術スタックが限定されるものではない:マイクロサービスアーキテクチャは、プロジェクトチームとビジネス、テクノロジー・スタックの合理的な選択の特徴と組み合わせることができます。例えば、一部のサービスは、リレーショナル・データベースMySQLを使用することができます。ニーズを計算する特定のマイクロサービスグラフィックス、あなたはのNeo4jを使用することができます。でも、ニーズに応じて、いくつかのマイクロサービスは、Node.jsの開発者がマイクロサービスセクションを使用して、Javaを使用して開発しました。

5需要収縮:需要ときめ細かな拡張を実現するために従いました。たとえば、ボトルネックが発生したマイクロサービスシステムは、我々は、マイクロビジネス・サービスの特性を組み合わせたメモリ、CPUのアップグレードを増やすか、ノードを追加することができます。

要約すると、単一のアプリケーション・アーキテクチャの欠点は、正確にマイクロサービスの利点、およびこれらの利点はマイクロサービスが完璧に見えるようにされます。銀の弾丸は存在しないようにしかし、完璧なものは、ありません。一部はマイクロサービスを課題があります。


直面しているチャレンジ2マイクロアーキテクチャサービス

1つの動作は、より高い次元を必要とします。より多くのサービスは、運用・保守における多くの投資を意味します。単一のアーキテクチャでは、唯一の我々は、アプリケーションの正常な動作を保証する必要があります。マイクロサービスでは、数十あるいは通常の操作やコラボレーションサービスの何百も、運用・保守を与えていることを保証する必要が大きな課題です。

2分散固有の複雑:マイクロサービス分配システムの使用が構築されます。分散システム、フォールトトレラントシステム、ネットワーク遅延、および他の分散トランザクションのために大きな課題をもたらすでしょう。

インタフェースを介してマイクロ通信サービス間:3は、インターフェースのコスト高を調整します。あなたは、特定のマイクロサービスのAPIを変更した場合、それはすべてのマイクロサービスを調整する必要があるのインターフェースを使用することができます。

努力の4重複:多くのサービスはすべて同じ機能を使用することができ、そしてこの関数はマイクロサービスの分解度に達していなかった、この時点では、各サービスがありそうなコードの重複が生じ、この機能を開きます。あなたはこの問題を解決するために、共有ライブラリを使用できますが(たとえば、この機能はアセンブリ公衆にパッケージ化することができ、マイクロ・サービスは、コンポーネントを参照する、この機能を必要とする)が、共有ライブラリ必ずしも多言語環境での作業。


おすすめ

転載: blog.51cto.com/14524696/2462804