見出しに、3つのバズワードがありました:

  1. マイクロサービス
  2. NetflixEureka
  3. Discovery(レジストリー)

Wat Is a Microservice?

簡単に言うと、マイクロサービスとは、完全なソリューションを提供するために協調して一緒に動作する小さなアプリケーションのクラスタです。

多くの小さなアプリケーションが一緒に独立して動作するというと、それらはすべて独自の URL とポートを持っているでしょう。 そのシナリオでは、これらすべてのマイクロサービスが同期して実行されるように、そしてより重要なことに、モニタリングで維持することは非常に面倒です。

この問題を解決するには、エコシステム内のすべてのマイクロサービスのレジストリを監視および保守するツールが必要です。 Eureka ServerとEurekaクライアントで構成されています。 Eureka Serverはそれ自体がマイクロサービスであり、他のすべてのマイクロサービスが登録される。 Eureka Clientsは、独立したマイクロサービスである。

私はSpring Bootを使用して、Eurekaクライアントとして動作するいくつかのマイクロサービスと、EurekaサーバーとなるDiscovery Serverを作成する予定です。 以下は、完全なプロジェクト構造です:

microservice1

Let’s Discuss the Eureka Discovery Server

これは Eureka Server で、そのために、プロジェクトに Eureka 依存症を含める必要があります。 以下は、Eureka Discovery Server の pom.xml です。

microService2

また、このプロジェクトのプロパティ ファイルを更新して、それがクライアントではなく発見サーバーであることを示す必要があります。

eureka.instance.hostname=localhosteureka.client.register-with-eureka=falseeureka.client.fetch-registry=false

Discovery アプリケーションを特定のポートにバインドし、アプリケーションに名前を付けるには、以下を追加する必要があります:

server.port=8000spring.application.name=DiscoveryServer

microService3

最後に行うことは、これを Eureka Server として有効にするために Spring Boot アプリケーションに注釈を付けることです。 そのためには、@EnableEurekaServer .

microService4

アプリケーションを起動すると、Eurekaが提供するUIで、登録したすべてのサーバーを一覧表示することができるようになります。 しかし、この時点では、何もありません!

microService5

さて、エコシステムにいくつかのマイクロサービスを追加して、それらをディスカバリー サーバーに登録しましょう。 このためには、各サービスで必要な依存関係を追加して、サーバーに登録する必要もあります。

私は Spring Boot で 3 つのシンプルなマイクロサービス (microservice1, microservice2, microservice3) を作成し、それぞれが独自のポート (8002, 8003, 8004) で動作しています。

microService6

クライアントとして、それはサーバーに登録する必要がありますが、これは以下のようにプロパティ ファイルに起こります。

microService7

メイン アプリケーションは、それぞれのマイクロサービスにおいて @EnableEurekaClient でアノテーションされます。

microService8

ポート 8004 で実行するようにこのアプリケーションを起動すると、自動的にディスカバリー サーバに自身を登録することができます。 同様に、さらに 2 つのマイクロサービスを作成し、ディスカバリー サーバーに登録しました。

microService9

エコシステムの中で 3 つのサーバーが実行されていることがわかり、これらのサーバーの状態も監視することができます。

これにより、ロード バランサーを使用している場合、すべてのサーバーとそのレプリカの監視が容易になります。

Eureka を使用して Discovery Server およびクライアントを使い始める際に、これが役立つことを願っています。

コメントを残す

メールアドレスが公開されることはありません。