Spring Cloud学习笔记(二)配置高可用Eureka Server

1 高可用Eureka Server

在实际生产环境,Standalone的Eureka Server风险还是很高的,因此我们需要配置Eureka的集群,官方对此也是建议使用集群的Eureka用以提高弹性及可用性。接下来我们基于第一篇文章的代码来做修改,配置高可用的Eureka Server。

2 创建两个节点的配置文件信息

基于上一篇中的Eureka Server,先创建两个配置文件,application-peer1.yml和application-peer2.yml

server:
  port: 8100 #访问端口
spring:
  application:
    name: eureka-server-peer1 #服务名称
  profiles:
    active: peer1

eureka:
  client:
    service-url:
      defaultZone: http://eureka-server-peer2:8101/eureka #根据官网记载,需指向对方关联的Service url
  instance:
    hostname: eureka-server-peer1
server:
  port: 8101 #访问端口
spring:
  application:
    name: eureka-server-peer2 #服务名称
  profiles:
    active: peer2
eureka:
  client:
    service-url:
      defaultZone: http://eureka-server-peer1:8100/eureka #根据官网记载,需指向对方关联的Service url
  instance:
    hostname: eureka-server-peer2

 3 修改HOST文件

由于配置的地址都在本机,那么我们映射一下hostname和本机IP,这样可以让通过不同的hostname访问到我们相同的ip模拟在不同机器上的情况。

Win10 X64系统的HOST文件地址:C:\\Windows\\System32\\drivers\\etc\\hosts,编辑这个文件就可以了,编辑前备份一下源文件,加入对应匹配。

# --------------------------------------------------
# eureka HA Config
127.0.0.1 eureka-server-peer1 
127.0.0.1 eureka-server-peer2

4 修改Eureka Client

server:
  port: 9001
spring:
  application:
    name: service-provider #应用名称,会显示在eureka server中

eureka:
  client:
    serviceUrl:
      defaultZone: http://eureka-server-peer1:8100/eureka/ #eureka server地址

5 启动服务查看

在IDEA里编辑启动类,由于Eureka Server分开了不同的两个服务,所以我们要新建一个启动类,并且各自指向各自对应的配置文件,如下图,指定启动类的配置文件名称。

然后对应启动peer1、peer2服务,启动service-provider服务。 

 

可以看到Server副本和service-provider服务。

当Eureka Server集群部署之后,server之间的注册信息是共享的,就算单点出现故障也不用担心,服务不会因此而终止。

6 用IP地址注册

Eureka Server默认允许服务用hostname注册,那么我们改用ip地址注册,修改Eureka Server的配置文件信息,加入如下配置属性:

eureka:
  instance:
    prefer-ip-address: true

修改Eureka Client端配置文件

eureka:
  instance:
    prefer-ip-address: true
    instance-id: 10.1.12.83:9001 #自己的ip和服务端口号

登录Eureka UI查看服务状态,可以看到服务变成了IP地址显示哈 ~~

参考资料:

https://cloud.spring.io/spring-cloud-static/Greenwich.SR5/single/spring-cloud.html#spring-cloud-eureka-server

https://cloud.spring.io/spring-cloud-static/Greenwich.SR5/single/spring-cloud.html#_service_discovery_eureka_clients

代码:https://gitee.com/dothwinds/Spring-Cloud-Study/tree/master/spring-cloud-study-eureka

发布了18 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Dothwinds/article/details/104970724