Eureka集群搭建

平时学习的时候单机就可以用了,但是到了生产环境就不行了。为了提高Eureka的高可用就必须搭建集群了。Eureka集群有两种。一种是每个Eureka Server之间不同步服务列表(保存了每个注册的服务信息)。第二种是每个Eureka Server之间同步信息。第一种在单机Eureka Server上不需要配置,只需要在Eureka Client连接Eureka Server时提供所有的服务地址即可。第二种就需要配置了。地址:https://docs.spring.io/spring-cloud-netflix/docs/3.1.4/reference/html/#spring-cloud-eureka-server-zones-and-regions。Eureka集群需要多个主机名。下面用两个Eureka Server模拟Eureka集群。
 
配置主机名:

在主机名配置文件加入,Windows系统文件是C:\Windows\System32\drivers\etc\hosts,Linux系统文件在/etc/hosts:

127.0.0.1  test1.com
127.0.0.1  test2.com

配置完了记得ping test1.com,要ping通才行。

下一步在原来的单机Eureka Server的基础上更改配置,参考https://www.cnblogs.com/shigongp/p/17231537.html。

 
 

一、在Resources目录下新建application-eu1.yml作为第一个Eureka Server的配置文件:

eureka:
  instance:
    hostname: test1.com
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/,http://test2.com:8762/eureka/

server:
  port: 8761

eureka.instance.hostname填写第一个Eureka Server的域名。registerWithEureka和fetchRegistry必须为true或者不写。defaultZone填其他Eureka Server的注册中心地址。

 
二、在Resources目录下新建application-eu2.yml作为第二个Eureka Server的配置文件:

server:
  port: 8762


eureka:
  instance:
    hostname: test2.com
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/,http://test1.com:8761/eureka/

配置参数和上面类似。

 

三、application.yml启用配置和公共配置:

spring:
  application:
    name: eurekaServer
  profiles:
    active: eu1

注意application-eu1.yml和application-eu2.yml的spring.application.name参数必须相同。模拟Eureka集群同一个项目要启动多次,如果使用IDEA请先配置同一个项目多次启动,参考https://blog.csdn.net/m0_59301720/article/details/125741033。首先将spring.profiles.active改成eu1然后启动。如果启动过程出现连接另一个Eureka Server出错的问题请先忽略。再将spring.profiles.active改成eu2然后启动。访问http://localhost:8761/,可看到:
 
 

 
图中Instances currently registered with Eureka有两个服务。General Info下面的registered-replicas和available-replicas为http://test2.com:8762/eureka/。且unavailable-replicas没有内容。
 
 
访问http://localhost:8762/可看到和http://localhost:8761/类似的内容即搭建成功:
 
 

posted @   shigp1  阅读(475)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示