サービスディスカバリは、マイクロサービスベースのアーキテクチャの重要な原則の 1 つです。各クライアントや何らかの形式の規則を手動で構成しようとすると、実行が難しく、脆弱になる可能性があります。 Eureka は、Netflix サービス ディスカバリー サーバーおよびクライアントです。サーバーは高可用性を実現するように構成および展開でき、各サーバーが登録されたサービスに関する状態を他のサーバーにレプリケートします。
プロジェクトに Eureka クライアントを含めるには、グループ ID が org.springframework.cloud で、アーティファクト ID が spring-cloud-starter-netflix-eureka-client のスターターを使用します。現在の Spring Cloud リリース トレインを使用したビルド システムのセットアップの詳細については、Spring Cloud プロジェクト ページを参照してください。
クライアントが Eureka に登録すると、ホスト、ポート、ヘルス インジケーター URL、ホームページ、その他の詳細など、クライアント自身に関するメタデータ — が提供されます。 Eureka は、サービスに属する各インスタンスからハートビート メッセージを受信します。ハートビートが構成可能なタイムテーブルをフェイルオーバーすると、通常、インスタンスはレジストリから削除されます。
次の例は、最小限の Eureka クライアント アプリケーションを示しています。
@SpringBootApplication @RestController public class Application { @RequestMapping("/") public String home() { return "Hello world"; } public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } }
前の例は通常の Spring Boot アプリケーションを示していることに注意してください。クラスパスに spring-cloud-starter-netflix-eureka-client を置くことで、アプリケーションは自動的に Eureka Server に登録されます。次の例に示すように、Eureka サーバーを見つけるには構成が必要です:
application.yml
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
前の例では、defaultZone は、設定を表現しないクライアントにサービス URL を提供するマジック文字列フォールバック値です (つまり、これは有用なデフォルトです)。
以上が春のエウレカの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。