春・クラウドプロジェクトを作成します。
Mavenプロジェクトのビルド:春-クラウドのデモは、
pom.xmlファイルに追加しました:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.20.RELEASE</version>
</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>Dalston.SR4</spring-cloud.version>
<spring-boot.version>1.5.20.RELEASE</spring-boot.version>
</properties>
<!--对子模块依赖包的版本统一控制,子模块需要显示引用,子模块也可以重新声明版本-->
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
サービスレジストリユーレカビルド・サービス
ユーレカ・サーバー:春・クラウドデモ・プロジェクトにモジュールを追加
参加のpom.xmlファイルに依存しています:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
リソースディレクトリ内のファイルを作成します。次のようにapplication.propertiesは、読み取ります。
################### Eureka服务端配置 ####################
server.port=8761
eureka.instance.hostname=localhost
#不向注册中心注册自己
eureka.client.register-with-eureka=false
#由于注册中心的职责就是维护服务实例,它并不需要去检索服务, 所以也设置为false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
起動クラスの作成:EurekaServerApplication.javaは、次の行を追加します。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
主な方法はユーレカは、完全なサーバ構築ので、EurekaServerApplicationクラスを実行し
、ブラウザでアクセスユーレカ・サーバをします。http:// localhost:8761 /
サービスの登録と発見:ユーレカビルドサービス登録
春・クラウドデモ・プロジェクトにモジュールを追加します。デモ・サービスは、
のpom.xmlファイルに依存することを追加しました:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>
リソースディレクトリ内のファイルを作成します。次のようにapplication.propertiesは、読み取ります。
########## Eureka客户端配置 ############
server.port=9806
spring.application.name=demo-service
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
起動クラスの作成:DemoServiceApplication.javaは、次の行を追加します。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class DemoServiceApplication {
public static void main(String[] args) {
SpringApplication.run(DemoServiceApplication.class, args);
}
}
主な方法は、DemoServiceApplicationクラスを実行し、完全な構築するため、ユーレカの登録
ブラウザでアクセスユーレカ・サーバをします。http:// localhost:8761 / 、 デモ・サービスはすでに来た登録見つけます
コントローラの追加:PortController.javaは、次の行を追加します。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PortController {
@Value("${server.port}")
private String port;
@RequestMapping("/port")
public String getPort() {
return "I am demo-service, I'm from port : " + port;
}
}
再実行しユーレカ・クライアント・プロジェクト、mainメソッドのEurekaClientApplicationクラス
ブラウザで訪問します。http:// localhost:9806 /ポート、 すなわち出力:私はデモサービスだが、私はポートからM」:9806
可用性レジストリ
リソースディレクトリユーレカ・サーバープロジェクトの中で2つのプロファイルを作成します
application-peer1.properties
################### Eureka服务端配置 ####################
spring.application.name=eureka-server
server.port=8761
eureka.instance.hostname=peer1
#不向注册中心注册自己
eureka.client.register-with-eureka=false
#由于注册中心的职责就是维护服务实例,它并不需要去检索服务, 所以也设置为false
eureka.client.fetch-registry=false
#高可用配置:注册到其他配置中心
eureka.client.serviceUrl.defaultZone=http://peer2:8762/eureka/
application-peer1.properties
################### Eureka服务端配置 ####################
spring.application.name=eureka-server
server.port=8761
eureka.instance.hostname=peer2
#不向注册中心注册自己
eureka.client.register-with-eureka=false
#由于注册中心的职责就是维护服务实例,它并不需要去检索服务, 所以也设置为false
eureka.client.fetch-registry=false
#高可用配置:注册到其他配置中心
eureka.client.serviceUrl.defaultZone=http://peer1:8761/eureka/
編集システムC:\ WINDOWS \ System32に\がドライバーでファイルをホスト\ etcディレクトリ、次の行を追加します。
127.0.0.1 peer1
127.0.0.1 peer2
ユーレカ・サーバープロジェクトは、JARパッケージを標識し、その後のjava -jarで二回という名前のユーレカ-server.jarを実行し、別の設定ファイルを指定します。
java -jar eureka-server-0.0.1.jar --spring.profiles.active=peer1
java -jar eureka-server-0.0.1.jar --spring.profiles.active=peer2
背景
nohup java -jar eureka-server-0.0.1.jar --spring.profiles.active=peer1 >./log/eureka-1.log &
次に訪問します。http:// localhost:8761 / 、 それがDSレプリカコピーの項目の下に発見された:ピア2は
、次に訪問します。http:// localhost:8762 / 、 DSレプリカ項目の下で発見された項目をコピー:ピア1
今後の登録センターは、他の登録に高可用性レジストリの目的を達成するためのセンターをサインアップ
ユーレカのクラスタ構成にサービス登録登録:
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/,http://localhost:8762/eureka/