検索
ホームページJava&#&チュートリアルspringCloud の Eureka プラクティスの詳細な分析

1. springcloud の最初の紹介

マイクロサービスはアーキテクチャ的なアプローチであり、最終的には技術的なアーキテクチャを実装する必要があります。

マイクロサービスを実装する方法はたくさんありますが、最も人気のあるのは Spring Cloud です

Spring が最も得意とするのは統合であり、世界で最高のフレームワークを採用し、それらを独自のプロジェクトに統合します。 Spring Cloud にも同じことが当てはまり、現在最も人気のあるテクノロジーのいくつかが統合されており、構成管理、サービス検出、インテリジェントなルーティング、ロードバランシング、ヒューズ、制御バス、クラスターステータスなどの機能が実装されています。その主なコンポーネントは次のとおりです:

  • Eureka: 登録センター

  • Zuul: サービスゲートウェイ

  • Ribbon: ロードバランシング
  • Feign: サービスコール
  • Hystix: ヒューズ
  • 今日は主に springcloud の登録センター Eureka について説明します。

ここにあります人生の例 例:

オンライン配車サービスが登場する前は、人々は配車を呼びに出かけるときにのみタクシーを呼ぶことができました。一部の自家用車はレンタルを希望していますが、資格がなく、ブラックカーと呼ばれます。タクシーを予約したい人は多いですが、残念ながらタクシーの台数が少なすぎて不便です。自家用車はたくさんあるが、あえて止めようとはせず、路上を走る車のうち、どれが人を乗せようとしているのか誰にも分からない。一方は望み、もう一方は喜んで与えますが、紹介と管理が不足しています。

現時点では、Didi のようなオンライン配車プラットフォームが登場しており、乗客を乗せたいすべての自家用車は Didi に登録し、車種 (サービスの種類) と身元情報 (連絡先情報) を記録する必要があります。このようなサービスを提供する専用車は Didi で検索でき、一目で分かります。

現時点で車を呼びたい方は、アプリを開いて目的地を入力し、車種(サービスの種類)を選択するだけで、Didi がお客様のニーズに合った車を自動的に手配します

戻ります。 springcloud に Eureka が登場します。Eureka は Didi のようなもので、サービス プロバイダーの情報の管理と記録を担当します。サービスの呼び出し元は自分でサービスを見つける必要はなく、自分のニーズを Eureka に伝えると、Eureka がニーズに合ったサービスを教えてくれます。同時に、サービスプロバイダーと Eureka は

メカニズムを通じて監視されており、サービスプロバイダーに問題が発生すると、Eureka はそのサービスをサービスリストから自然に削除します。

“心跳”これにより、サービスの自動登録、発見、状態監視が実現します。

springCloud の Eureka プラクティスの詳細な分析Eureka: アドレスを外部に公開するサービス登録センター(クラスターでもよい)

プロバイダ: 起動後にEurekaに自分の情報(アドレス、提供するサービス)を登録する

消費者: Eureka サービスに登録すると、Eureka は対応するサービスのすべてのプロバイダー アドレスのリストを消費者に送信し、定期的に更新します

ハートビート (更新): プロバイダーは http メソッドを通じて Eureka のステータスを定期的に更新します

実践:

Eureka 登録センターの構造図:

springCloud の Eureka プラクティスの詳細な分析 pom.xml ファイルを改善し、依存関係を追加します

以下は pom ファイルの主要な部分です

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.0.3.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
   <java.version>1.8</java.version>
   <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
   </dependency>
</dependencies>

<dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-dependencies</artifactId>
         <version>${spring-cloud.version}</version>
         <type>pom</type>
         <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>

スタートアップ クラスを編集します

@SpringBootApplication
@EnableEurekaServer // 声明这个应用是一个EurekaServer
public class SpringcloudEurekaServerApplication {

   public static void main(String[] args) {

      SpringApplication.run(SpringcloudEurekaServerApplication.class, args);
   }
}

application.yml 設定

server:
  port: 8081 # 端口
spring:
  application:
    name: eureka-server # 应用名称,会在Eureka中显示
eureka:
  client:
    register-with-eureka: false # 是否注册自己的信息到EurekaServer,默认是true
    fetch-registry: false # 是否拉取其它服务的信息,默认是true
    service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。
      defaultZone: http://127.0.0.1:${server.port}/eureka

プロジェクトを実行します: http://127.0.0.1:8081 にアクセスしてください

springCloud の Eureka プラクティスの詳細な分析この時点で、Eureka 登録センターは正常に構築されました

以上がspringCloud の Eureka プラクティスの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)