第一步:创建多个注册中心,将注册中心1注册到注册中心2中,将注册中心2注册到注册中心1中
第二步:服务调用者或者暴露者需要同时注册服务,当注册中心1挂了时会自动启动注册中心2
Eureka Client的高可用:同时启动多个服务实例,服务的名称必须相同,将多个服务注册到注册中心,然后启动,实现服务的高可用,预防服务挂掉后不可用问题,处理负载均衡问题都是在客户端处理的
服务的高可用:
-
启动注册中心
-
准备服务的提供者(3个)
-
服务的名称保持一致
-
同时向注册中心注册
-
启动注册中心
-
启动多个服务的实例即可
注意:同一个服务提供者的集群,服务的名字必须保持一致
-
client设置负载均衡策略:
-
001、准备三个相同的service(服务端),分别注册到注册中心
server:
port: 8091 #端口分别是8091、8092、8093
spring:
application:
name: hello-service
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
- 002、客户端调用
server:
port: 8099
spring:
application:
name: restTemplete-client
eureka:
client:
service-url:
default-Zone: http://localhost:8761/
HELLO-SERVICE: #被调用的服务名(注册中心注册的服务名)
ribbon: #负载均衡策略 权重
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
springCloud默认的负载均衡策略是轮询