Netflix Eureka server 集群配置(二)

前面章节介绍了怎样实现 Eureka server 集群配置。为了模拟多个 Eureka server 我们创建了三个 Eureka server 项目,这些项目唯一不同的是配置文件,其他代码都是一样的。本章节将演示只创建一个 Eureka server 项目,利用 Spring Boot 的 profile 特性来实现运行程序时,通过 JVM 参数(使用 -D 指定)动态决定激活那个 profile。先看看项目结构,如下图:

上图中,我们为项目创建了四个 yml 格式的配置文件。其中,application-peer1.yml、application-peer2.yml 和 application-peer3.yml 用来配置三个不同的 Eureka server 节点,具体配置方法下面将逐一介绍。

创建 yml 配置文件

application.yml 配置文件

# 服务名称
spring:
  profiles:
    active: ${profile_active}
  application:
    name: eureka-server

上面配置了 Eureka server 的名称,以及定义 profiles 激活引用 profile_active 变量,该变量可以通过 JVM 参数指定,例如:-Dprofile_active=peer1。

application-peer1.yml 配置文件

# 服务端口
server:
  port: 8077
eureka:
  instance:
    hostname: peer1
  client:
    # 向注册中心注册自己
    register-with-eureka: true
    # 取消检索服务
    fetch-registry: true
    # 其他节点地址
    service-url:
      defaultZone: http://peer2:8078/eureka/,http://peer3:8079/eureka/

application-peer2.yml 配置文件

# 服务端口
server:
  port: 8078
eureka:
  instance:
    hostname: peer2
  client:
    # 向注册中心注册自己
    register-with-eureka: true
    # 取消检索服务
    fetch-registry: true
    # 其他节点地址
    service-url:
      defaultZone: http://peer1:8077/eureka/,http://peer3:8079/eureka/

application-peer3.yml 配置文件

# 服务端口
server:
  port: 8079
eureka:
  instance:
    hostname: peer3
  client:
    # 向注册中心注册自己
    register-with-eureka: true
    # 取消检索服务
    fetch-registry: true
    # 其他节点地址
    service-url:
      defaultZone: http://peer1:8077/eureka/,http://peer2:8078/eureka/

运行程序

打开IDEA的 Run/Debug 配置页面,配置三个运行程序,使用 -D 指定不同的 profile_active 值。如下图:

然后分别运行 EurekaServerApplication8077、EurekaServerApplication8078 和 EurekaServerApplication8079 三个程序。最后使用浏览器访问 http://localhost:8077 ,如下图:

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号