SpringCloud之高可用注册中心Eureka Server集群搭建

Spring Cloud的Eureka Server的高可用实际上就是将自己作为服务向其他服注册中心注册自己,形成一组互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。接下来介绍下如何搭建一个服务注册中心集群。
下图是文件结构, 非常简洁,就一个启动类。不得不说有了spingBoot开发一个新的项目简单了不少。
SpringCloud之高可用注册中心Eureka Server集群搭建_第1张图片
我们需要的maven的依赖:

		
			org.springframework.cloud
			spring-cloud-starter-netflix-eureka-server
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		
	

然后application.yml这个文件可以无视,这个是SpringBoot启动的默认配置文件,对我们没有影响,因为在这里我们启动三个服务注册中心的指定启动配置文件分别是application-peer1.yml,application-peer2.yml,application-peer3.yml。

application-peer1.yml

spring:
  application:
    name: eureka-server

server:
  port: 1111

eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      defaultZone: http://peer2:1112/eureka/,http://peer3:1113/eureka/

application-peer2.yml

spring:
  application:
    name: eureka-server

server:
  port: 1112

eureka:
  instance:
    hostname: peer2
  client:
    service-url:
      defaultZone: http://peer1:1111/eureka/,http://peer3:1113/eureka/
application-peer3.yml

spring:
  application:
    name: eureka-server

server:
  port: 1113

eureka:
  instance:
    hostname: peer3
  client:
    service-url:
      defaultZone: http://peer1:1111/eureka/,http://peer2:1112/eureka/


然后创建一个名为EurekaApplication的启动类,通过注解@ EnableEurekaServer表明这是一个Eureka Server。
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
   public static void main(String[] args) {
      SpringApplication.run(EurekaApplication.class, args);
   }
}

然后在idea中创建3个启动配置文件不同的springBoot的启动实例。三个实例的启动类都是 EurekaApplication,但是启动的配置文件不同就可以开启三个不同的服务,这也是SpringBoot的方便之处。 具体配置参考下图:
SpringCloud之高可用注册中心Eureka Server集群搭建_第2张图片
在启动之前,需要改一下机器的hosts文件,我是用我本机开启了三个注册中心集群,所以三个注册中心的ip都是127.0.0.1,如果在不同的机器上这里可以改成具体对应的ip地址。在windows中找到C:\Windows\System32\drivers\etc目录下的hosts文件,加入三个注册中心的信息。linux是 通过vim /etc/hosts 。
SpringCloud之高可用注册中心Eureka Server集群搭建_第3张图片
然后挨个启动三个实例:第一个启动完成后的如果报错属于正常情况,因为其他 两台注册中心还没启动完。
异常:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused。
SpringCloud之高可用注册中心Eureka Server集群搭建_第4张图片
等到所有注册中心都启动后,打开 http://localhost:1111/ 控制台查看所有注册中心集群的情况。可以看到当前有三台可用的注册中心存在。恭喜你,已经成功搭建起了一个Eureka Server集群。 下图中的 SERVICE-HI是我启动的两个服务提供者集群,还有一个服务消费者SERVICE-RIBBON,该如何创建服务提供者和服务消费者,我将在另一篇文章里讲到。
SpringCloud之高可用注册中心Eureka Server集群搭建_第5张图片
公司这台可怜的8G内存的笔记本,卡爆

SpringCloud之高可用注册中心Eureka Server集群搭建_第6张图片

你可能感兴趣的:(JAVA,微服务,eureka集群,SpringCloud)