マイクロサービスとは何ですか?
マイクロサービスはアーキテクチャスタイルであり、アプリケーションを開発するときは、アプリケーションを小さなサービスの組み合わせとして構築する必要があり、http経由で通信できます。マイクロサービスアーキテクチャについて説明するために、まず、過去のモノリシックアプリケーションアーキテクチャについて説明します。
モノリシックアプリケーションアーキテクチャ
いわゆるモノリシックアプリケーションアーキテクチャ(オールインワン)は、1つのアプリケーションのすべてのアプリケーションサービスを1つのアプリケーションにカプセル化することを意味します。
ERP、CRM、その他のシステムに関係なく、データベースアクセス、Webアクセスなどのすべての機能をwarパッケージに入れます。
-
これの利点は、開発とテストが簡単で、展開も非常に便利です。拡張する必要がある場合は、戦争の複数のコピーをコピーして、複数のサーバーに配置するだけで、負荷分散を実行できます。
-
マイクロサービスのアーキテクチャ
オールインワンのアーキテクチャでは、すべての機能ユニットを1つのアプリケーションに配置します。次に、アプリケーション全体をサーバーにデプロイします。負荷容量が機能しない場合は、アプリケーション全体を水平方向に複製して展開し、負荷のバランスをとります。
いわゆるマイクロサービスアーキテクチャは、以前のすべてを1つのアーキテクチャに分割し、各機能要素を分離することです。独立した機能要素の動的な組み合わせは、必要な機能要素とのみ組み合わせることができ、さらに必要な場合は、複数の機能要素を統合できます。したがって、マイクロサービスアーキテクチャは機能要素を複製しますが、アプリケーション全体を複製するわけではありません。
これの利点は次のとおりです。
-
通話リソースを節約します。
-
各機能要素のサービスは、交換可能な独立してアップグレード可能なソフトウェアコードです。
Martin Flowerが2014年3月25日に執筆した「マイクロサービス」では、マイクロサービスとは何かについて詳しく説明しています。
マイクロサービスを構築する方法
大規模システムのマイクロサービスアーキテクチャは、複雑な織り交ぜられたニューラルネットワークのようなものです。各ニューロンは機能要素であり、それぞれが独自の機能を完了してから、httpを通じて相互に呼び出します。たとえば、eコマースシステムでは、キャッシュのチェック、データベースへの接続、ページの閲覧、チェックアウト、支払いなどのサービスはすべて独立した機能サービスであり、すべてが小型化されています。マイクロサービスとして、それらは共同で巨大なシステムを構築します。機能の1つを変更する場合、機能サービスユニットの1つのみを更新およびアップグレードする必要があります。
しかし、この巨大なシステムアーキテクチャは、展開、運用、保守に大きな困難をもたらします。したがって、春には大規模な分散マイクロサービスを構築するためのフルスケールのフルセットの製品が提供されます。
-
独立した機能を持つマイクロサービスアプリケーションユニットを構築します。Springbootを使用すると、アプリケーションをすばやく構築できます。
-
大規模な分散ネットワークサービスの呼び出し。この部分は、分散を実現するために春のクラウドによって完了します。
-
配信の途中、ストリーミングデータの計算とバッチ処理のために、春のクラウドデータフローがあります。
-
Springは、アプリケーションの構築から大規模な分散アプリケーションまでの全体的なプロセス計画を私たちに考えています。