マイクロサービスアーキテクチャ はサービス指向アーキテクチャです。マイクロサービス アーキテクチャには、多数の マイクロサービス 。すべてのマイクロサービスを組み合わせることで、大きなサービスを構築します。マイクロサービス アーキテクチャでは、すべてのサービスが相互に通信します。
の中に マイクロサービス チュートリアルでは、を使用してマイクロサービスを実装する方法を理解します。 春の雲 。マイクロサービス間の通信を確立する方法を学びます。 有効にする 負荷分散 、 マイクロサービスのスケールアップとスケールダウン 。私たちも次のことを学びます マイクロサービスの構成を一元化する と Spring Cloud Config サーバー 。実装していきます エウレカネーミングサーバー そして 分散トレーシング と 春の雲の探偵 そして ジップキン 。フォールトトレランスマイクロサービスを作成します ジップキン 。
私たちの マイクロサービス チュートリアルでは、の基本的な機能について説明します。 マイクロサービスアーキテクチャ 理解しやすいように関連する例も示します。
マイクロサービスとは
意味 : によると サム・ニューマン , 「マイクロサービスとは、連携して動作する小さなサービスのことです。」
によると ジェームズ・ルイスとマーティン・ファウラー , 『マイクロサービス アーキテクチャ スタイルは、単一のアプリケーションを小規模なサービスのスイートとして開発するアプローチです。各マイクロサービスはそのプロセスを実行し、軽量のメカニズムと通信します。これらのサービスはビジネス機能を中心に構築されており、完全に自動化された導入機械によって独自に開発されています。
これらのサービスには最小限の集中管理があり、異なるプログラミング言語で記述され、異なるデータ ストレージ テクノロジが使用される場合があります。
留意すべき点
- これらは、REST によって公開されるサービスです。
- これらは、適切に選択された展開可能な小型ユニットです。
- サービスはクラウド対応である必要があります。
マイクロサービスは、ビジネス要件を実装する疎結合サービスのプールにアプリケーションを分割するアーキテクチャへのアプローチを定義します。隣にあります サービス指向アーキテクチャ (SOA) 。マイクロサービスベースのアーキテクチャの最も重要な特徴は、 継続的デリバリー 大規模で複雑なアプリケーションの場合。
マイクロサービスは、アプリケーションを破壊し、論理的に独立した小さなアプリケーションを構築するのに役立ちます。たとえば、Amazon AWS の助けを借りて、最小限の労力でクラウド アプリケーションを構築できます。
上の図では、各マイクロサービスには独自のビジネス レイヤーとデータベースがあります。 1 つのマイクロサービスを変更しても、他のサービスには影響しません。これらのサービスは、HTTP や REST などの軽量プロトコル、またはメッセージング プロトコルを使用して相互に通信します。
マイクロサービスの原則
マイクロサービスには次の原則があります。
- 単一責任の原則
- ビジネスドメインを中心にモデル化
- 障害の切り分け
- インフラストラクチャの自動化
- 独立して導入
単一責任の原則
単一責任の原則では、プログラム内のクラスまたはモジュールは 1 つの責任のみを持つべきであると規定されています。どのマイクロサービスも、一度に複数の役割を果たすことはできません。
ビジネスドメインを中心にモデル化
マイクロサービスは、適切なテクノロジー スタックやデータベースの受け入れを自ら制限することはありません。ビジネス目的の解決にはスタックまたはデータベースが最適です。
孤立した障害
大規模なアプリケーションは、単一モジュールの障害による影響をほとんど受けません。サービスはいつでも失敗する可能性があります。したがって、障害を迅速に検出し、可能であれば自動的に障害を復元することが重要です。
インフラストラクチャの自動化
インフラストラクチャの自動化は、環境をスクリプト化するプロセスです。スクリプト環境の助けを借りて、同じ構成を単一のノードまたは数千のノードに適用できます。これは、構成管理、スクリプト化インフラストラクチャ、およびシステム構成管理とも呼ばれます。
独立して導入
マイクロサービスはプラットフォームに依存しません。つまり、他のサービスに影響を与えることなく、それらを独立して設計してデプロイできるということです。
観客
私たちのマイクロサービス チュートリアルは、マイクロサービス アーキテクチャを簡単な手順で学びたいソフトウェア プロフェッショナルと初心者向けに設計されています。このチュートリアルでは、マイクロサービス アーキテクチャとそのコンポーネントに関する深い知識を提供します。 RabbitMQ サーバー、Eureka ネーミング サーバー、Zuul API ゲートウェイ、リボン、Hystrix、 そして ジップキンサーバー 。このチュートリアルを完了すると、開発できるようになります マイクロサービスサービス と 春の雲 。
前提条件
このチュートリアルを続ける前に、以下の基本を理解しておく必要があります。 ジャワ 、 春、 そして 春の雲 フレームワーク。 Spring Cloudを使ってマイクロサービスを開発するからです。
問題
マイクロサービス チュートリアルでは問題が見つからないことを保証します。間違い等がございましたら、お問い合わせフォームよりご連絡ください。