Netflix Eurekaを使用したSpring Cloud Service Discovery
Netflix Eureka registry server上でspring cloudに基づいたマイクロサービスを作成する方法と、他のマイクロサービス(EurekaクライSpring BootベースのSpring Cloud APIを使用します。 Netflix Eureka serverを使用して、SERVICE registry serverとEUREKAクライアントを構築し、自分自身を登録し、REST Apiを呼び出すための他のサービスを発見します。
- 概要
- テックスタックとランタイム
- Netflix Eurekaサーバーとクライアントとは何ですか?
- Eureka Service Registry Server
- サーバー構成
- Test Eureka Server
- Eureka Client–Student Service
- クライアント構成
- REST APIを追加
- Eurekaクライアント–学校サービス
- クライアント構成
- student serviceのREST APIを使用するREST APIを追加します
- サービスの検出と呼び出しのデモ
- エラーに直面しているかどうかを確認するもの
- エラーに直面しているかどうかを確認するもの
- @EnableEurekaServerと@EnableEurekaClientは、アプリケーションエコシステムの中心です。 これら二つのことがなければ全く動作しません。
- 概要
概要
このNetflix Eurekaの例では、3つのマイクロサービスを作成します。
- Eureka Service Registry Server–このマイクロサービスは、サービスレジストリと検出サーバーを提供します。
- Student Microservice–Studentエンティティに基づいていくつかの機能を提供します。 これはrestベースのサービスであり、最も重要なのはeurekaクライアントサービスであり、サービスレジストリに登録するためにeurekaサービスと通信します。
- 学校Microservice–学生サービスと同じタイプ–のみ追加された機能は、サービスルックアップメカニズムで学生サービスを呼び出すことです。 私たちは、そのサービスと対話するために学生サービスの絶対URLを使用しません。
ここでは、上記の三つのサービス間の相互作用図です。
テックスタックとランタイム
- Java1。8
- Eclipse IDE
- Spring cloud
- Spring boot
- Spring Rest
- Maven
Table of ContentsWhat is Netflix Eureka Server and Clients?Eureka Service Registry ServerEureka Client - Student ServiceEureka Client - School ServiceDemo of Service Discovery and CallingThings to check if facing any errorSummary
Netflix Eurekaサーバーとクライアントとは何ですか?
最近知っているように、マイクロサービスの周りには多くの勢いがあります。 モノリシックからマイクロサービスベースのアーキテクチャへの移行は、保守性、スケーラビリティ、高可用性などの面で将来のために多くの利点を しかし同時に、この移行を行っている間にも多くの課題があります。 そのうちの1つは、個々のマイクロサービスアドレスを維持することです。 このタスクは、サービスの数とその動的な性質に応じて、非常に複雑になる可能性があります。 インフラストラクチャ全体が分散され、レプリケーションもいくつか存在する場合、このサービスアドレスを維持することは困難になります。
これを解決するために、分散コンピューティングでは、一つの専用サーバーが展開され、削除されたすべてのMicroserviceのレジストリを維持するために責任があ これは、他のすべてのアプリケーション/マイクロサービスの電話帳のように機能します。
マイクロサービス(クライアント)が自分自身を登録し、他の登録されたマイクロサービスを発見できるルックアップサービスと考えてください。 クライアントマイクロサービスがEurekaに登録すると、ホスト、ポート、ヘルスインジケータなどのメタデータが提供され、他のマイクロサービスがそれを発見 検出サーバーは、各microserviceインスタンスからの定期的なハートビートメッセージを期待しています。 インスタンスが一貫してハートビートの送信に失敗し始めると、検出サーバーはそのインスタンスをレジストリから削除します。 このようにして、私たちはお互いに協力するマイクロサービスの非常に安定したエコシステムを持ち、その上に、スケールアップ/ダウンが非常に頻繁に、オンデマンドで、私たちはクラウド環境で特別にサービスをホストするために仮想ホストを使用する場合、手動で他のマイクロサービスのアドレスを維持する必要はありません。
Eureka Service Registry Server
Eureka serverを作成して実行するには、次の手順に従います。2つの依存関係を持つSpring Boot初期化子ポータルからSpring bootプロジェクトを作成します。 Eureka server
Actuator
。 他のmaven GAV座標を与え、プロジェクトをダウンロードします。 P>プロジェクトを解凍し、既存のmavenプロジェクトとしてEclipseにインポートします。
エラーに直面しているかどうかを確認するもの
- 注釈
学校サービスの応答 @EnableEurekaServer
と@EnableEurekaClient
は、アプリケーションエコシステムの中心です。 これら二つのことがなければ全く動作しません。 - config clientサービスの起動時に、eureka serverサービスがすでに実行されていることを確認してください。
概要
サービスレジストリと検出サーバーだけでなく、クライアントを効率的に展開することがいかに簡単かを見ました。 Spring frameworkは内部的に多くのことを維持しています。 ここでは、いくつかの注釈と非常に最小限の構成を使用して、全体を迅速に達成しています。