搭建eureka集群

使用spring boot1.5.16版本,spring cloud版本选择Edgware.SR4,添加eureka server的依赖

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

在application.properties中设置应用名称

spring.application.name=eureka-server
eureka.instance.appname=eureka-server

还需要开启eureka server之间的相互注册和检索服务

#是否将该实例信息注册到其他eureka server上;如果设置为false,那么该server无法被其他server发现,但是仍然可以发现其他server
eureka.client.register-with-eureka=true
#是否允许该客户端从eureka server上获取注册信息
eureka.client.fetch-registry=true

我们使用主机名来定义注册中心的地址,而不是ip,该配置默认就是false,所以可以不配

eureka.instance.prefer-ip-address=false

我们在同一台机器上创建3个节点的eureka集群,分别是peer1,peer2和peer3

修改hosts文件,使peer1,peer2和peer3都指向127.0.0.1, 具体路径是

C:\Windows\System32\drivers\etc\HOSTS

添加如下内容

127.0.0.1 peer1
127.0.0.1 peer2
127.0.0.1 peer3

然后在项目中创建3个配置文件application-peer1.properties,application-peer2.properties和application-peer3.properties分别作为peer1,peer2和peer3节点的配置文件。配置服务的端口和hostname,指定其他两个eureka server,地址中的hostname应与配置的hostname相对应。

application-peer1.properties

server.port=1111
eureka.instance.hostname=peer1
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/,http://peer3:1113/eureka

application-peer2.properties

server.port=1112
eureka.instance.hostname=peer2
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/,http://peer3:1113/eureka

application-peer3.properties

server.port=1113
eureka.instance.hostname=peer3
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

编译后,在target目录下分别执行java -jar eureka-server-1.0.0.jar --spring.profiles.active = peer1,java -jar eureka-server-1.0.0.jar --spring.profiles.active = peer2和java -jar eureka-server-1.0.0.jar --spring.profiles.active = peer3,启动3个eureka server。至此,3节点的eureka搭建完成。

访问 http://localhost:1111 ,在peer1的页面上可以看到,General Info的available-replicas有peer2和peer3节点,说明3个节点的eureka server相互注册成功。如果available-replicas是空的,而unavailable-replicas有其他两个节点,说明配置有问题,集群搭建失败。

猜你喜欢

转载自blog.csdn.net/jia_costa/article/details/82829150