サービス登録と発見ユーレカ(フィンチリーのバージョン:SpringCloudは、まずマイクロクラウドインフラストラクチャサービスを分散しました

Aは、春クラウド入門
「の最も簡単な春の雲チュートリアルの歴史」の中のビューは、私は春のブートバージョン2.0.3.RELEASE、春の雲バージョンFinchley.RELEASEのビット版現在サポートされているバージョンをアップグレードする傾向が再び読者と非常に人気があります。

次のように文書のフィンチリー公式バージョン
http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.htmlを

春の雲はように、マイクロブローカー、イベントバス、グローバルロック、意思決定のキャンペーン、分散セッションとをルーティング開発者のための構成管理、サービス検出、回路ブレーカ、などの分散システムを構築し、迅速に多数のツールを提供します。これは、単純な環境がPCの開発者で実行することができます動作します。それ以外の場合は春の雲が理解していない場合は、springbootにspringbootは一定の理解を持っているように開発する必要性に基づいており、あなたはこの記事にspringbootを学ぶために二時間を見ることができます。単語「マイクロ・サービス・アーキテクチャ」を理解していないに加えて下の検索エンジンが理解できる「マイクロサービスアーキテクチャ。」

第二には、レジストリサービスの作成
私はユーレカを使用してサービスとして登録され、構成部品としては、領事の記事の詳細を後になりました。

2.1まずMavenのメインプロジェクトを作成します。

まず、そのポンポンファイル内のプライマリ信頼春ブーツバージョン2.0.3.RELEASESpringクラウドバージョンFinchley.RELEASE導入Mavenプロジェクトを作成します。学びspringcloudアーキテクチャは、他のバージョン管理モジュールの動作に依存したPOMを継承するよう親ファイルとしてこのポンポンファイルが作用3536247259を請うために追加することができます。同じポンポンを持つこのモデルのすべてのPOMの他の記事で記事のこのシリーズ。再び、それは導入が繰り返されていません。コードは以下の通りです

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.forezp</groupId>
    <artifactId>sc-f-chapter1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>sc-f-chapter1</name>
    <description>Demo project for Spring Boot</description>

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

    <modules>
        <module>eureka-server</module>
        <module>service-hi</module>
    </modules>

    <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-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>

</project>

ユーレカクライアントとしてユーレカサーバーでサービスセンターとして登録**モデル事業、及びその他:2.2は、次に2つのモデルプロジェクトを作成します。

ここでは、サーバー・プロセスを作成するための詳細な手順を作成するための例があります

右プロジェクト- >モデル-作成>以下の図initialirセレクトスプリングサービス登録と発見ユーレカ(フィンチリーのバージョン:SpringCloudは、まずマイクロクラウドインフラストラクチャサービスを分散しました
次のステップを- >を選択し、クラウドディスカバリー>ユーレカ、サーバ、その後、次のリストになって。
サービス登録と発見ユーレカ(フィンチリーのバージョン:SpringCloudは、まずマイクロクラウドインフラストラクチャサービスを分散しました
プロジェクトのpom.xmlの作成は、その親のポンポンファイルや春・クラウドスターターnetflix-の導入継承した後、ユーレカ・サーバー、次のように依存性のコードがあります

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.forezp</groupId>
    <artifactId>eureka-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>eureka-server</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>com.forezp</groupId>
        <artifactId>sc-f-chapter1</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

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

</project>

2.3サービスレジストリを起動すると、プロジェクトのアプリケーションクラスspringbootの起動時にこのコメントを追加する必要が@EnableEurekaServerコメントのみを必要とし

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run( EurekaServerApplication.class, args );
    }
}

2.4ユーレカは、サーバーがレジストリに登録した後、メモリに指定する必要があり、すべてのインスタンスerurekaサーバはまた、ユーレカクライアントのデフォルトを完了することができハートビートを送信するために、高可用性バックサイドキャッシュのニーズではないコンポーネントです。ユーレカ・サーバ設定ファイルappication.yml

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

spring:
  application:
    name: eurka-server

eureka.client.registerWithEurekafalseとfetchRegistryfalseによって、彼はユーレカ・サーバであることを示しています。

2.5ユーレカサーバは、アクセスにブラウザを開いて、プロジェクトを開始するためのインタフェースである
HTTP:// localhostを:8761は、インタフェース次
サービス登録と発見ユーレカ(フィンチリーのバージョン:SpringCloudは、まずマイクロクラウドインフラストラクチャサービスを分散しました
発見される利用できませんアプリケーション全くサービスが存在しない...... _
もちろん何のサービスが見つかりませんでしたが存在することができるのない登録サービスが存在しないため。

第三には、サービスプロバイダ(ユーレカクライアント)を作成し
、サーバーとクライアントのレジスタはそのようなホストとポートのURLホームページなどのいくつかのメタデータを提供しますとき。ユーレカ・サーバは、各クライアントのインスタンスからハートビートメッセージを受け取ります。ハートビートタイムアウトが通常のインスタンスである場合は、登録サーバーから削除されます。

サーバと同様のプロセスを作成し、次のようにのpom.xmlを作成

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.forezp</groupId>
    <artifactId>service-hi</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>service-hi</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>com.forezp</groupId>
        <artifactId>sc-f-chapter1</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

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

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

</project>

通过注解@EnableEurekaClient 表明自己是一个eurekaclient.
@SpringBootApplication
@EnableEurekaClient
@RestController
public class ServiceHiApplication {

    public static void main(String[] args) {
        SpringApplication.run( ServiceHiApplication.class, args );
    }

    @Value("${server.port}")
    String port;

    @RequestMapping("/hi")
    public String home(@RequestParam(value = "name", defaultValue = "forezp") String name) {
        return "hi " + name + " ,i am from port:" + port;
    }

}

それは十分単に@EnableEurekaClientまた、次のアドレスapplication.ymlプロファイル設定ファイルに登録され、独自のサービスセンターを指定する必要がありません

server:
  port: 8762

spring:
  application:
    name: service-hi

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

spring.application.nameを指定する必要があり、これはアフターサービスとサービス間の相互は、一般的に、この名前に基づいており、このコールで非常に重要です。
スタートプロジェクトを開きます。http:// localhostを:8761それユーレカサーバーのURL
サービス登録と発見ユーレカ(フィンチリーのバージョン:SpringCloudは、まずマイクロクラウドインフラストラクチャサービスを分散しました
サービス登録と発見ユーレカ(フィンチリーのバージョン:SpringCloudは、まずマイクロクラウドインフラストラクチャサービスを分散しました
あなたはサービスがSERVICE-HIという名前のサービスのサービスに登録されていることがわかります、ポート7862

そして、オープンのhttp:// localhostを:? 8762 / HI名= forezp あなたがブラウザに表示されます。

8762:forezpこんにちは、私はポートから来ました

おすすめ

転載: blog.51cto.com/14622290/2457816