微服务-3.高可用

本文介绍了在SpringCloud中实现Eureka Server高可用的方法,通过创建Eureka Server集群来分担服务注册的压力。改造现有Eureka Service应用,利用多profile配置两个不同环境的应用,并详细说明了配置过程,包括修改相关yaml文件以及如何运行和解决可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.什么是高可用Eureka Server集群
在实际开发中,微服务实例可能有几十上百个之多,由于Eureka Server需要承担服务的注册任务,当服务数量一多,Eureka Server就需要承担非常高的负载,在SpringCloud中我们可以实现Eureka Server的高可用集群来减小负载,简而言之就是多创建几个Eureka Server程序相互注册来分担注册中心的压力。
在这里插入图片描述
二.项目改造
我们已经有一个Eureka Service应用,在这里我们把该应用进行改造,使用 多profile 的格式配置成两个Eureka Service环境
重新配置两个配置文件: application-10086.yml: application-10087.yml
在这里插入图片描述
配置文件内容:
application-10086.yml

server:
  port: 10086

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10087/eureka
#      registerWithEureka: false
#        fetchRegistry: false
  instance:
    prefer-ip-address: true
    ip-address: 127.0.0.1
spring:
  application:
    name: eureka-server
#  main:
#    allow-bean-definition-overriding: true

application-10087.yml

server:
  port: 10087


eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka
#     registerWithEureka: false
#      fetchRegistry: false

  instance:
    prefer-ip-address: true
    ip-address: 127.0.0.1
spring:
  application:
    name: eureka-server
#  main:
#    allow-bean-definition-overriding: true

(1)修改D:\idea2\cloud-project\user-consumer-project\src\main\resources\application.yml

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka,http://localhost:10087/eureka

(2)修改D:\idea2\cloud-project\user-service-project\src\main\resources\application.yml

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka,http://localhost:10087/eureka

只是在原来的基础上新加http://localhost:10087/eureka就可以了
如果要配置高可用就不要// @LoadBalanced//负载均衡需要注解
配置完成后需要把eureka-server-project打成jar包在Terminal上运行:
在这里插入图片描述
运行:

cd D:\idea2\cloud-project\eureka-server-project\target
java -jar eureka-server-project-0.0.1-SNAPSHOT.jar --spring.profiles.active=10086

在这里插入图片描述
再加一个local:

cd D:\idea2\cloud-project\eureka-server-project\target
java -jar eureka-server-project-0.0.1-SNAPSHOT.jar --spring.profiles.active=10087

运行成功就可以了!
中间报错类似于 file:/E:/springboot/sprintboot01/codes/codes/14/AYZXX-A/lib/javax.persistence.jar
解决办法:更改pom文件依赖

<dependency>
            <groupId>com.livia</groupId>
            <artifactId>user-conmmen-project</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>

最后在网页:http://localhost:10086/
在这里插入图片描述

实验????未完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值