接上一部分 https://www.zlennon.com/website/springcloud/index#spring-cloud-start-tutorial
1.Eureka集群
我们把服务都注册到Eureka中了,但是如果注册中心挂了,那就是相当于什么都挂了,所以注册中心需要配置为集群方式以保证高可用性。
因为集群需要不同的的域名,所以这里先修改hosts 映射(C:\Windows\System32\drivers\etc\hosts)
127.0.0.1 eureka1.com
127.0.0.1 eureka2.com
127.0.0.1 eureka3.com
复制两份server-registry 命名为server-registry2,server-registry 3 ,同时修改端口
server-registry 9001,server-registry2 9011 server-registry2 9021
每个服务配置其他两个eureka地址,使他们之间相互感知 ,启动三个服务即可。
server:
port: 9001
eureka:
instance:
hostname: eureka1.com
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://eureka2.com:9011/eureka/,http://eureka3.com:9021/eureka
访问9001服务,查看集群是否配置成功
2.服务集群
将之前的服务提供者再拷贝一份 并命名为covid-provier2
这样两个服务分别使covid-provier 8080 ,covid-provier2 8090
配置集群服务,注意 spring.application.name 两个服务是相同的,表明提供的是同一个服务,instance-id 不同表示在eureka中的两个不同的服务实例
#server 8080
spring:
application:
name: ms-covid-provider
eureka:
client: #客户端注册进eureka服务列表内
service-url:
defaultZone: http://eureka1.com:9001/eureka,http://eureka2.com:9011/eureka,http://eureka3.com:9021/eureka
instance:
instance-id: ms-cloud-covid-8080
prefer-ip-address: true #访问路径可以显示IP地址
---
#server 8090
spring:
application:
name: ms-covid-provider
eureka:
client: #客户端注册进eureka服务列表内
service-url:
defaultZone: http://eureka1.com:9001/eureka,http://eureka2.com:9011/eureka,http://eureka3.com:9021/eureka
instance:
instance-id: ms-cloud-covid-8090
prefer-ip-address: true #访问路径可以显示IP地址
启动消费者访问,根据后台打印的日志可以看出,eureka默认使用轮询的方式提供服务。
分享到: