SpringBootとSpringCloudを使用したマイクロサービス

公開: 2020-09-04

目次

マイクロサービスの概要

マイクロサービスは、複雑なビジネス目標を達成するために相互に連携する小規模な自立型サービスです。 これらのサービスは独立しており、さまざまなプログラミング言語とデータストアを使用してさまざまな開発チームが構築できるように完全です。 マイクロサービスは個別にスケーラブルであり、自動的にデプロイできます。 モノリシックサービスと比較して、保守が容易で、フォールトトレランスが向上しています。 それでも、それらは緩く結合されており、より大きなアプリケーションの目標を達成するために相互に作用することができます。

マイクロサービスアーキテクチャを使用してソフトウェアを構築できるように、さまざまなツールが市場で入手できます。 SpringCloudとSpringBootは、人気のあるJavaマイクロサービスフレームワークです。

Spring Bootは、JavaWebアプリケーションの開発に使用されるSpringフレームワークを使用して構築された独創的なアプリケーション開発プラットフォームです。 同時に、カスタマイズ可能であり、要件に基づいて構成できます。 春のクラウドチュートリアルの基本的な側面については、このブログで説明します。

SpringBootとSpringCloudを使用したマイクロサービス

このSpringCloudチュートリアルでは、SpringBootとSpringCloudを使用して単純なマイクロサービスアプリケーションを構築するための基本的な概要を説明します。 さらに、チュートリアルには、学習目標の達成に役立つ関連ドキュメントへのリンクが含まれています。 次のことを行う必要があります。

1.SpringInitializerを使用してSpringBootを使用して新しいサービスを作成する

Spring Cloudチュートリアルによると、最初のステップは、SpringInitializerを使用してプロジェクト構造を作成することです。 イニシャライザは、プロジェクトに必要なすべての依存関係をすばやく追加する方法を提供します。 たとえば、Mavenプロジェクト、Java、およびSpringBootバージョン2.0.0を選択できます。 Mavenプロジェクトには、Javaのパッケージとクラスと同様に、グループIDとアーティファクトIDが必要です。

また、依存関係を選択する必要があります。たとえば、Web(Webアプリケーションの開発を開始するため)、DevTools(アプリケーションの開発を容易にするため)、Actuator(アプリを監視するため)、およびConfig Client(アプリケーションをSpring Configに接続するため)です。サーバ)。 すべてのオプションを選択したら、プロジェクトを生成します。 詳細については、RESTfulWebサービスリソースの構築に関するSpringInitializerの開始を参照してくださいデータベースへの接続方法については、 SpringDataJPA参照してください

2.サービスの命名と検出を確認します

アーキテクチャ内の別のサービスがマイクロサービスを探しているときに検出するには、すべてのマイクロサービスを登録する必要があります。 たとえば、特定のサービスが、特定の環境で再実行されている別のサービスのすべてのインスタンスを検索したい場合があります。 この春のクラウドチュートリアルでは、ネーミングサーバーがすべてのサービスとそのインスタンスに関する情報を保存し、それを探している人に情報を提供することを学びます。 したがって、サービス検出のプロセスに役立ちます。 サービスの登録と検出の詳細については、 SpringCloudとNetflixのEurekaを使用したマイクロサービスの登録と検出を参照してください

読む: Spring Boot Projects&Topics

3.他のマイクロサービスを呼び出す

Spring Cloudでは、他のコンポーネントやサービスに対して複数の呼び出しを行う必要があります。 これは、Webサービスクライアントを簡単に作成できるようにすることでプロセスの複雑さを取り除くFeignを使用することで実現されます。 詳細については、 Spring CloudOpenFeignを参照してください

4.負荷分散を確認します

この春のクラウドチュートリアルに従って、 Feignはクライアント側の負荷分散フレームワークであるRibbonとの統合も提供します。 リボンは、Feign構成を使用して呼び出しを分散し、別のサービスが接続するサービスのすべてのインスタンス間でそれらのバランスを取るのに役立ちます。 詳細については、リボンとSpringCloudを使用したクライアント側の負荷分散を参照してください

5. Spring CloudConfigServerを使用してマイクロサービス構成を一元管理する

この春のクラウドチュートリアルによると、アプリケーションは複数のマイクロサービス、これらのマイクロサービス用の複数の環境、および環境で実行されているこれらのサービスのさまざまなインスタンスを使用します。 Spring Configuration Serverは、マイクロサービスのそのようなすべてのインスタンスに関連する構成情報を格納するための集中管理された場所を提供します。

その結果、この構成は1つの場所で利用可能であり、アーキテクチャ内のすべてのサービスで使用する必要があります。 構成を一元的に管理するには、新しいサービスに関連するプロパティを定義してから、Gitをコードリポジトリとして使用して、関連するSpringConfigサーバーに接続します。 詳細については、ドキュメントSpringConfigOverviewを参照してください Spring ConfigをGitに接続する方法については、SpringCloudConfigを参照してください

また読む:インドの春の開発者給与

6.SpringCloudでセキュリティを確立する

何百ものマイクロサービスが連携するマイクロサービスアーキテクチャでは、認証と承認をチェックすることが不可欠です。 セキュリティ以外にも、メトリックや制限などの考慮事項があります。 API Gatewayを使用すると、すべてのサービスに共通の機能を実装できます。

たとえば、Zuul Serverは、リクエストを処理し、マイクロサービスアプリケーションの動的ルーティングを実行するAPIGatewayアプリケーションです。 このSpringCloudTutoria lの詳細については、 SpringCloudGatewayを参照してください

7.フォールトトレランスを有効にする

マイクロサービスを実装する際の重要な考慮事項は、1つのコンポーネントが機能しなくなると、アプリケーション全体が停止する可能性があることです。 Hystrixフレームワークは、メソッド呼び出しが失敗したときに機能を適切にアップグレードできるフォールトトレラントマイクロサービスの構築に役立ちます。 これにより、関連するサービスに障害が発生した場合でもマイクロサービスの動作を継続できるため、障害がカスケードするのを防ぎ、障害のあるサービスに回復する時間を与えることができます。

チェックアウト:春の豆のライフサイクルの説明

結論

うまくいけば、このSpring Cloudチュートリアルは、始めるための重要な出発点として役立つでしょう。

Spring Cloudの詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のPGディプロマをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクト、および割り当て、IIITを提供します。 -B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との雇用支援。

あなたの夢の仕事に着陸

ソフトウェア開発におけるアップグレードおよびIIIT-BANGALOREのPGディプロマ
今すぐ申し込む