A.なぜクラスタが必要なのか
記事は、これは私たちがそれを見ていきますので、条件は、ない3台のコンピュータを許可していないため、クラスタまたはローカルポートは、3つの異なるユーレカを実行するには、クラスタを構築する方法について説明しユーレカ、単一ノードユーレカを設定する方法について説明します目的はポイントの問題ので、代わりに作業のポイントを、一番上に行くために別のポイントがあり、単一障害点として、故障原因、サービス全体の問題の麻痺のユーレカクラスター・ポイントを防ぐためです、それはまた、高可用性クラスタを実現しましたハイパフォーマンス
II。クラスタの原則
各登録ポイントがURL他の点で構成され、消費者が消費する必要がある場合、サービスポイントへの登録、ストアは、他の登録地点へのサービスに同期されますと、他のサーバーのポイントとデータを同期させることが可能ですレジストリに特定のサービスを要求する、レジストリは、消費者に特定のサービスを提供するために、サービスプロバイダーのアドレスへのアクセスを提供し、最終的にサービスを呼び出す実現します
III。勝利のconfigureを作成するクラスタ環境
ここでは、すべてのサービスに便利です直接ローカルwin10環境につかるためには、本当にLinux仮想マシン上で実行するための環境をシミュレートしていた、我々は百度を所有することができ、原則は同じですが、パッケージ化されるように、Linuxのニーズに実行します私は勝利の操作を指示する、解放します。まずCでローカル、ドメインマッピングで構成された複数のサービスを、実行します。ドライバ\で\ WINDOWS \ SYSTEM32 \ hostsファイルなどのパスを追加しました:
127.0.0.1 eureka3000.com
127.0.0.1 eureka3001.com
127.0.0.1 eureka3002.com
こちら思い出すことの必要性、hostsファイルを変更するには、特権である、セット、特定の権限の参照は、設定ファイルを変更するwin10
IV。クラスタを作成します。
- 最初のディレクトリを作成し、以下のとおりです。(参照してすでに述べた記事でeureka3000を作成ユーレカ単一のノードを構築するために、)eureka3001を作成し、eureka3001が同じで、ここではPOMファイルに直接貼り付けます
- eureka3000ポンポンファイル:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.org.ldc</groupId>
<artifactId>eureka3000</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka3000</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<!-- 继承本项目的父工程 -->
<parent>
<groupId>com.org.ldc</groupId>
<artifactId>eureka-father</artifactId>
<version>1.0.0.RELEASE</version>
</parent>
<!--引入eurekaserver 依赖-->
<dependencies>
<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-web</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</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>
- applicatiion.ymlファイルのeureka3000:
server:
port: 3000
eureka:
server:
enable-self-preservation: false #关闭自我保护机制
eviction-interval-timer-in-ms: 4000 #设置清理间隔(单位:毫秒 默认是60*1000)
instance:
hostname: eureka3000.com
client:
serviceUrl:
defaultZone: http://eureka3001.com:3001/eureka,http://eureka3002.com:3002/eureka #将自己当成服务注册到其他注册中心
spring:
application:
name: eureka-server-cluster #设置服务名
- オリジナルの起動クラスと同じeureka3000
- eureka3001ポンポンファイル:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.org.ldc</groupId>
<artifactId>eureka3001</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka3001</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<!-- 继承本项目的父工程 -->
<parent>
<groupId>com.org.ldc</groupId>
<artifactId>eureka-father</artifactId>
<version>1.0.0.RELEASE</version>
</parent>
<!--引入eurekaserver 依赖-->
<dependencies>
<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-web</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</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>
- eureka3001アプリケーションファイル:
server:
port: 3001
eureka:
server:
enable-self-preservation: false #关闭自我保护机制
eviction-interval-timer-in-ms: 4000 #设置清理间隔(单位:毫秒 默认是60*1000)
instance:
hostname: eureka3001.com
client:
serviceUrl:
defaultZone: http://eureka3000.com:3000/eureka,http://eureka3002.com:3002/eureka #将自己当成服务注册到其他注册中心
spring:
application:
name: eureka-server-cluster #设置服务名
-
スタートクラス以上
-
eureka3002ポンポンファイル:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.org.ldc</groupId> <artifactId>eureka3002</artifactId> <version>0.0.1-SNAPSHOT</version> <name>eureka3002</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <!-- 继承本项目的父工程 --> <parent> <groupId>com.org.ldc</groupId> <artifactId>eureka-father</artifactId> <version>1.0.0.RELEASE</version> </parent> <!--引入eurekaserver 依赖--> <dependencies> <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-web</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.SR2</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>
</プロジェクト>
- eureka3002的application文件:
サーバー:
ポート:3002
ユーレカ:
サーバー:
有効-自己保存:の自己保護メカニズムオフ偽#ターン
立ち退き-インターバルタイマー・イン・ 4000#1:MS 設定のクリーンアップ間隔(単位:ミリ秒デフォルトは60 * 1000である)
インスタンス:
ホスト名: eureka3002.com
クライアント:
serviceURLの:
defaultzone:http://eureka3001.com:3001/eureka,http://eureka3000.com:3000/eureka#他のレジストリにサービスとして自身を登録するには
春:
アプリケーション:
名前:eureka-サーバー・クラスタ#は、サービス名を設定します
- 最后是工程的pom文件内容如下:
<?xmlのバージョン= "1.0"エンコード= "UTF-8">
<プロジェクトのxmlns =」http://maven.apache.org/POM/4.0.0 "のxmlns:XSI =" のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス "
のxsi:のschemaLocation =" http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd」> ;
<! -基本信息- >
<説明> SpringBoot-ユーレカ环境搭建多模块构建示例</記述>
<modelVersion> 4.0.0 </ modelVersion>
<名前>ユーレカ-父</名前>
<パッケージ>ポンポン< /梱包>
<!-- 项目说明:这里作为聚合工程的父工程 -->
<groupId>com.org.ldc</groupId>
<artifactId>eureka-father</artifactId>
<version>1.0.0.RELEASE</version>
<!-- 继承说明:这里继承SpringBoot提供的父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<modules>
<module>eureka3000</module>
<module>eureka3001</module>
<module>eureka3002</module>
<module>user5000</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.org.ldc</groupId>
<artifactId>eureka3000</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.org.ldc</groupId>
<artifactId>eureka3001</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.org.ldc</groupId>
<artifactId>eureka3002</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.org.ldc</groupId>
<artifactId>user5000</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
</プロジェクト>
在这里说明一下,这里的搭建教程是基于maven的聚合工程搭建的,需要有能搭建maven聚合工程的前提,这里就默认大家会搭建,所以就一顿输出了,如果还不懂的可以自行去百度。
最后测试就是启动各个注册中心,然后最后启动服务在浏览器分别输入各个注册中心的访问地址,出现如下图,说明搭建成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191215215951525.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjU1MDE3,size_16,color_FFFFFF,t_70)
>更多的教程请关注非科班的科班,一起努力,加油干,路过的小伙伴帮我点个赞,谢谢大家
最后分享一波java的资源,资源包括java从入门到开发的全套视频,以及java的26个项目,资源比较大,大小大概是290g左右,链接容易失效,获取的方式是关注公众号:非科班的科班,让后回复:java项目即可获得,祝大家学习愉快