搭建高可用的Eureka-Server集群

构建高可用的Eureka Server集群

在之前的学习过程中,学习搭建了一个简单的单节点的Eureka Server,但是在实际应用中,往往会面临着几百个甚至更多的微服务实例,这个时候Eureka Server就会承担非常高的负载,单节点的Eureka Server肯定是不可能承受如此高的负载的,所以就需要搭建高可用的Eureka Server集群。

本次搭建是在之前的工程基础上进行优化修改。首先修改eureka-server的配置文件application.yml,在配置文件中采用多profile的格式:

# 高可用的Eureka Server的配置信息
---
spring:
  profiles: peer1
server:
  port: 8761
eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      defaultZone: http://peer2:8762/eureka/
# 防止Eureka-Server自己注册成一个服务
    registerWithEureka: false
    fetchRegistry: false

---
spring:
  profiles: peer2
server:
  port: 8762
eureka:
  instance:
    hostname: peer2
  client:
    service-url:
      defaultZone: http://peer1:8761/eureka/
# 防止Eureka-Server自己注册成一个服务
    registerWithEureka: false
    fetchRegistry: false

配置完成之后,可以在idea的命令行界面cd 到Eureka-Server目录下,进行mvn clean package进行打包,就会在target目录下生成对应的jar文件


高可用的Eureka-Server集群截图1.png

由于是在你本地搭建集群,所以需要修改hosts文件,在文件中添加
127.0.0.1 peer1
127.0.0.1 peer2
添加完之后关闭文件,hosts文件并不会马上生效,需要在Windows的cmd窗口中刷新dns。相应的命令是:ipconfig/flushdns,刷新完之后文件就生效了

之后就需要分别用所配置的2个profiles启动生成的jar包


高可用的Eureka-Server集群截图2.png
高可用的Eureka-Server集群截图3.png

启动完成eureka-server之后,需要修改eureka-client配置文件中的端口


server:
  port: 8763

spring:
  application:
    name: eureka-client

eureka:
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/

启动客户端之后,访问http://peer1/8761/ ,就可以看到eureka-client以及向peer1节点Eureka Server注册了,并且在DS Replicas选项中显示了节点peer2,具体如图所示:

高可用的Eureka-Server集群截图4.png

到此为止,就搭建好了一个简单的Eureka-Server集群

你可能感兴趣的:(搭建高可用的Eureka-Server集群)