一.什么是高可用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/