一:集群环境搭建
第一步:我们新建两个注册中心工程一个叫eureka_register_service_master,另一个叫eureka_register_service_backup
eureka_register_service_master的application.properties配置如下
server.port = 7998 eureka.client.register-with-eureka=false eureka.client.fetch-registry=false spring.application.name=eureka-server eureka.instance.hostname=master eureka.client.serviceUrl.defaultZone=http://backup:7999/eureka/
eureka_register_service_backup的application.properties配置如下
server.port = 7999 eureka.client.register-with-eureka=false eureka.client.fetch-registry=false spring.application.name=eureka-server eureka.instance.hostname=backup eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/
上面配置端口分别是
master端口是7998
backupr端口是7999
第二步:添加启动文件分别是ApplicationMaster.java,ApplicationBackUp.java
里面代码内容是一样的
maseter
package com.xlei; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer //Eureka Server 标识 @SpringBootApplication public class EurekaRegisterServiceMastersApplication { public static void main(String[] args) { SpringApplication.run(EurekaRegisterServiceMastersApplication.class, args); } }
backup
package com.xler; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer //Eureka Server标识 @SpringBootApplication public class EurekaRegisterServiceBackupApplication { public static void main(String[] args) { SpringApplication.run(EurekaRegisterServiceBackupApplication.class, args); } }
第三步:启动
第四步:查看界面
通过上图可以看
端口7998是matser它的registered-replicas指向了http://backup:7999/eureka/
端口7999是backup它的registered-replicas指向了http://master:7999/eureka/
三:集群理解
虽然上面我们以双节点作为例子,但是实际负载等原因,我们往往可能需要在生产环境构建多于两个的Eureka Server节点,那么对于如何配置serviceUrl来让集群中的服务进行同步,需要我们更深入的理解节点间的同步机制来做出决策,我们通过一张图来理解集群。