Eureka集群构建,是在我上一篇博客的Eureka服务注册与发现及其使用的基础上进行的。也就是Spring cloud整合了Eureka的单机版。目录结构如下
一)、什么是集群
参考:https://blog.csdn.net/sandy_hmily/article/details/77847542?utm_source=copy
二)、集群构建步骤
Eureka集群构建源码下载:https://download.csdn.net/download/erge353729094/12786186
1、参照microservercloud-eureka-7001,构建两个新的Eureka Server。microservercloud-eureka-7002和microservercloud-eureka-7003
2、参照microservercloud-eureka-7001的模板往新建的两个Eureka Server中粘贴pom.xml文件,确保<artifactId>标签中的别名与项目名保持一致
3、往新建的两个Eureka Server中粘贴主启动和yml文件。并做出相应的调整
4、修改映射配置
4.1、找到C:\Windows\System32\drivers\etc路径下的hosts文件进行域名映射
4.2、域名映射配置如下:
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com
5、3台Eureka Server中的yml配置,在原有的基础上yml文件需要修改两个地方
5.1、yml文件中的eureka.instance.hostname属性的修改
单机版属性:eureka.instance.hostname: localhost
集群版设置如下:
microservercloud-eureka-7001的yml文件设置:eureka.instance.hostname: eureka7001.com
microservercloud-eureka-7002的yml文件设置:eureka.instance.hostname: eureka7002.com
microservercloud-eureka-7003的yml文件设置:eureka.instance.hostname: eureka7003.com
5.2、设置属性:eureka.client.service-url.defaultZone
单机版:eureka.client.service-url.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
集群版:eureka.client.service-url.defaultZone
microservercloud-eureka-7001的yml文件中的设置:eureka.client.service-url.defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
microservercloud-eureka-7002的yml文件中的设置:eureka.client.service-url.defaultZone:
http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/
microservercloud-eureka-7003的yml文件中的设置:eureka.client.service-url.defaultZone:
http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
集群版microservercloud-eureka-7001为例,其yml配置文件如下
server:
port: 7001
eureka:
instance:
hostname: eureka7001.com #eureka服务端的实例名称
client:
register-with-eureka: false #表示不向注册中心注册自己
fetch-registry: false #false表示自己端就是注册中心,我们的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ #设置与Eureka Server交互的地址,查询和注册服务都需要这个地址
综上所述:eureka.client.service-url.defaultZone该属性不添加自己服务的url,其他集群服务的都需要添加。
6、把Provider Server注册到三台Eureka集群配置中
修改Provider Server的yml文件中的属性:eureka.client.service-url.defaultZone
单机版: eureka.client.service-url.defaultZone: http://localhost:7001/eureka
集群版: eureka.client.service-url.defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
7、测试
参考:周阳老师教学视频
https://blog.csdn.net/xcbeyond/article/details/81503484
https://www.cnblogs.com/xuzhujack/p/11019405.html
总结:站在巨人的肩膀上往往学的更快