欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Cloud --Eureka Server高可用

程序员文章站 2022-06-12 15:20:56
...

最近在学习Spring Cloud ,在根据讲解实践Eureka Server的高可用时配置集群环境遇到的一些问题,总结一下:

1.首先创建一个Eureka Server的项目

2.配置系统的hosts,Windows系统的hosts的路径:C:\Windows\System32\drivers\etc\hosts,Linux及Mac OS 路径是/etc/hosts,添加 类似于下图,这里可能会出现没有操作权限的问题,可以先把文件复制出来改好后,覆盖一下

 127.0.0.1       peer1
 127.0.0.1       peer2

3.在application.yml中修改让2个节点相互注册:

spring:
  application:
    name: microservice-discovery-eureka-ha
---
spring:
  profiles: peer1                                 # 指定profile=peer1
server:
  port: 8761
eureka:
  instance:
    hostname: peer1                               # 指定当profile=peer1时,主机名是peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:8762/eureka/      # 将自己注册到peer2这个Eureka上面去

---
spring:
  profiles: peer2
server:
  port: 8762
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/

4.打包项目,在jar存放的位置,运行命令

java -jar microservice-discovery-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar microservice-discovery-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

Spring Cloud --Eureka Server高可用

5.访问浏览器:http://peer1:8761/可以看到注册列表数据,同理访问http://peer2:8762/

6.如果让一个服务同时注册到这两个EurekaServer上,则修改该服务的application.yml中 ,注册服务选择多个,启动该服务就可以看到这个服务在2个Eureka Server上都有注册。

eureka:
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka/