1、参照 https://www.jianshu.com/p/39ab9515b1c3 ,创建多一个Eureka服务器
2、修改Eureka服务器1的配置文件 application.yml,将 Eureka Server 1 指向 Eureka Server 2
3、修改Eureka服务器2的配置文件 application.yml,Eureka Server 2 指向 Eureka Server 1
4、将服务同时注册到Eureka Server 1 和Eureka Server 2
5、先启动Eureka Server,再启动Eureka Client,然后打开Eureka Server后台管理端,可以看到Eureka Server间相互指向,并且Eureka Client也注册到两个Eureka Server中
二、Eureka Client 集群
1、只需要创建一个一模一样的服务,并且修改端口号
运行项目后可以看到服务“CLOUD-PAYMENT-SERVICE”指向两个不同的域名
2、修改服务请求地址,用Eureka显示的服务名代替
3、在配置类 ApplicationContextConfig.java 中,使用 @LoadBalanced 注解赋予 RestTemplate 负载均衡的能力
参照《七、(Eureka篇)单机Eureka 服务端和客户端配置》( https://www.jianshu.com/p/02fc3c38b315 )来新建
cloud-eureka-server-7001 的 yml 文件修改如下。
同理,cloud-eureka-server-7002 的 yml 文件修改如下图
hosts文件地址:C:\Windows\System32\drivers\etc,需要用管理员权限才能修改。
在浏览器中分别输入 http://http://eureka7001.com:7001 和 http://eureka7002.com:7002 ,可以看到他们之间相互注册
该地址就是 支付模块 中 yml 配置的服务名
使用 @LoadBalanced 赋予 RestTemplate 负载均衡的能力。
修改 cloud-consumer-order80 服务的配置类 ApplicationContextConfig.java
(1)先启动 EurekaServer 的所有节点:7001和7002。
(2)启动支付模块:8001 和 8002
(3)启动消费者模块:80
actuator 可以用来监控、管理、控制 springBoot项目,比如健康检查、资源使用情况,接口访问情况等。可以通过常用的 http 接口访问的方式来实现。
我们的目的是为了像下图一样:
在 application.yml 中加入针对实例的如下配置即可:
单机两节点
application.properties(1):
#各节点需一致
spring.application.name=eureka-server
server.port=8761
eureka.instance.hostname=eureka1
eureka.client.serviceUrl.defaultZone=http://eureka2:8762/eureka/
#已下三项为默认配置
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true
eureka.instance.prefer-ip-address=false
application.properties(2):
spring.application.name=eureka-server
server.port=8762
eureka.instance.hostname=eureka2
eureka.client.serviceUrl.defaultZone=http://eureka1:8761/eureka/
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true
eureka.instance.prefer-ip-address=false
host文件添加:
127.0.0.1 eureka1
127.0.0.1 eureka2
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)