Spring Cloud笔记 Eureka通过集群实现高可用

Posted funnyboy0128

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud笔记 Eureka通过集群实现高可用相关的知识,希望对你有一定的参考价值。

Eureka实现服务注册与发现,在Spring Cloud微服务中起着关键性的作用,必须保障其高可用,常规方案无非通过集群实现。这里在本地机器搭建一个伪集群环境,通过两个节点实现相互注册,并通过主备数据同步实现高可用,实际生产环境可能有多个节点,原理一样。简单步骤如下:

【step1】:eureka配置文件如下

spring:
  application:
    name: eureka-cluster

---
spring:
  profiles: master
server:
  port: 8761
eureka:
  instance:
    hostname: master
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://backup:8762/eureka

---
spring:
  profiles: backup
server:
  port: 8762
eureka:
  instance:
    hostname: backup
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://master:8761/eureka

注意:这里通过端口不同实现模拟,并且需要配置机器host信息:

192.168.31.11 master
192.168.31.11 backup

 

【step2】:打包部署,并启动

通过mvn install打包,然后分别启动,

java -jar eureka.jar --spring.profiles.active=master
java -jar eureka.jar --spring.profiles.active=backup

启动时指定spring.profiles.active实现主备模拟。

 

【step3】:访问测试

 访问http://192.168.31.11:8761/ 详情如下:

 

 访问http://192.168.31.11:8762/ 详情如下:

 

【step4】:修改客户端,启动客户端测试

 客户端修改Eureka的注册地址:eureka.client.serviceUrl.defaultZone: http://master:8761/eureka/,http://backup:8762/eureka/,启动客户端,然后分别访问Eureka查看,已经注册到了各个节点。

停掉其中某个Eureka节点,然后再次启动查看,会发现服务信息从可用的节点同步到了当前节点。

 

以上是关于Spring Cloud笔记 Eureka通过集群实现高可用的主要内容,如果未能解决你的问题,请参考以下文章

spring cloud 搭建注册中心Eureka(集群模式)

Spring-cloud之Eureka服务搭建集群

Spring Cloud Eureka集群 动态扩展新节点

3Spring Cloud - Eureka(高可用Eureka Server集群)

Spring Cloud笔记03: 服务注册和服务发现的基本概念

Spring Cloud Netflix-Eureka集群数据同步