前言:首先要知道什么是一个高可用的服务注册中心,基于spring boot建成的服务注册中心是一个单节点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心,那么在Eureka中,我们通过集群来解决这个问题。啥叫集群呢?就是多配几个,一个服务注册中心挂了,还有另一个。
另外要注意jdk的版本需要1.8或1.8以上,否则无法执行。
1 但这里我遇到了一个奇怪的问题:本来我的jdk版本是1.6的,我需要更换。但是怎么配置环境 2 变量,在命令行输入java -version仍然是1.6,这里并不是配错了,而是在安装JDK1.6时, 3 自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows 4 \System32目录,我们所执行的java命令正是这个java.exe所以我们先需要将这3个可执行 5 文件删除,然后再配置jdk1.8
另附java环境搭建方法
https://jingyan.baidu.com/article/c85b7a6414f2ee003bac95d5.html
那开始项目吧!
1、首先创建一个空的maven项目,不必多说
2、pom.xml内容配置
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>org.sang</groupId> 7 <artifactId>eureka-server</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 11 <name>eureka-server</name> 12 <description>Demo project for Spring Boot</description> 13 14 <parent> 15 <groupId>org.springframework.boot</groupId> 16 <artifactId>spring-boot-starter-parent</artifactId> 17 <version>1.5.6.RELEASE</version> 18 <relativePath/> <!-- lookup parent from repository --> 19 </parent> 20 21 <properties> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24 <java.version>1.8</java.version> 25 </properties> 26 27 <dependencies> 28 <dependency> 29 <groupId>org.springframework.boot</groupId> 30 <artifactId>spring-boot-starter</artifactId> 31 </dependency> 32 33 <dependency> 34 <groupId>org.springframework.cloud</groupId> 35 <artifactId>spring-cloud-starter-eureka-server</artifactId> 36 </dependency> 37 38 <dependency> 39 <groupId>org.springframework.boot</groupId> 40 <artifactId>spring-boot-starter-test</artifactId> 41 <scope>test</scope> 42 </dependency> 43 </dependencies> 44 45 <dependencyManagement> 46 <dependencies> 47 <dependency> 48 <groupId>org.springframework.cloud</groupId> 49 <artifactId>spring-cloud-dependencies</artifactId> 50 <version>Dalston.SR3</version> 51 <type>pom</type> 52 <scope>import</scope> 53 </dependency> 54 </dependencies> 55 </dependencyManagement> 56 <build> 57 <plugins> 58 <plugin> 59 <groupId>org.springframework.boot</groupId> 60 <artifactId>spring-boot-maven-plugin</artifactId> 61 </plugin> 62 </plugins> 63 </build> 64 </project>
3、两个配置文件之peer1的内容
1 server.port=1111 2 eureka.instance.hostname=peer1 3 eureka.client.register-with-eureka=false 4 eureka.client.fetch-registry=false 5 eureka.client.service-url.defaultZone=http://peer2:1112/eureka/
4、两个配置文件之peer2的内容
1 server.port=1112 2 eureka.instance.hostname=peer2 3 eureka.client.register-with-eureka=false 4 eureka.client.fetch-registry=false 5 eureka.client.service-url.defaultZone=http://peer1:1111/eureka/
关于这两个配置文件需要知道如下几点:
1.在peer1的配置文件中,让它的service-url指向peer2,在peer2的配置文件中让它的service-url指向peer1 2.为了让peer1和peer2能够被正确的访问到,我们需要在C:\Windows\System32\drivers\etc目录下的hosts文件总添加两行配置,如下: 127.0.0.1 peer1 127.0.0.1 peer2 3.由于peer1和peer2互相指向对方,实际上我们构建了一个双节点的服务注册中心集群
5、java程序启动代码
1 import org.springframework.boot.SpringApplication; 2 import org.springframework.boot.autoconfigure.SpringBootApplication; 3 import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 4 5 @EnableEurekaServer 6 @SpringBootApplication 7 public class Application { 8 public static void main(String[] args) { 9 SpringApplication.run(Application.class, args); 10 } 11 }
6、将该maven项目打包成可执行的.jar文件
选中pom.xml文件,右击鼠标点击run,选择Maven install,等待即可
7、生成jar文件之后,我们在命令行通过java命令来启动项目,在启动的时候我们可以设置采用不同的配置文件来启动项目,命令如下:
1 java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 2 java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
8、在浏览器中进行验证
时间: 2024-07-31 15:01:20