# Eureka 三节点部署

# 服务节点结构

# Eureka 服务节点

构建 Eureka 高可用集群

节点域名 节点端口
peer1 8761
peer2 8762
peer3 8763

# Eureka Client 节点

注册到 Eureka 中,进行测试

节点ip 节点端口
192.168.2.154 9527

# Eureka Server 配置文件

# 项目结构

# Eureka Server 节点一配置

# Eureka Server 节点二配置

# Eureka Server 节点三配置

# Eureka Client 节点配置

# Docker 部署 Eureka 三节点高可用集群

Java运行环境镜像制作

# 集群节点

节点 Docker IP 节点 Docker 端口 宿主机映射端口
172.08.0.11 8761 8761
172.08.0.12 8761 8762
172.08.0.13 8761 8763

# 目录结构

# docker-compose.yml 文件部分内容

# 启动时某一节点效果

# 问题汇总

# 集群无法构建的原因

# 问题如下,即使构建了集群配置,仍然无法串联起

# 导致该问题的因素

在同一台主机上部署三台 Eureka Server 服务,且未使用 Docker 进行部署,同时 Eureka Server 配置中的参数配置了同一个配置,如下

eureka.instance.hostname=${spring.cloud.client.ip-address}

在eureka集群配置的过程中,如果是在同一主机上配置多个节点,则各节点的 eureka.instance.hostname(实例的主机名)不能一样,否则在各节点相互注册的过程中会产生报错

同一台主机 ${spring.cloud.client.ip-address} 获取到的ip 是一样的,所以无法构建集群

# 解决方案

  • 一、通过 Docker 的方式构建集群,使得 ${spring.cloud.client.ip-address} 获取到的值不同
  • 二、通过域名配置的方式替代 ,如:eureka.instance.hostname=peer1(or peer2 ,peer3 ....)
精彩内容推送,请关注公众号!
最近更新时间: 5/28/2020, 3:14:17 PM