Eureka高可用与负载均衡
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eureka高可用与负载均衡相关的知识,希望对你有一定的参考价值。
参考技术A简单来说, Eureka Server 的高可用,实际上就是将自己也作为服务向其他服务注册中心进行注册,这样就可以形成一组相互注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。
另外,从官网文档中有提到 Zones 、 Regions , Region 和 Zone (或者Availability Zone)均是 AWS 的概念。在非AWS环境下,我们可以先简单地将region理解为Eureka集群,zone理解成机房。下图就可以理解为一个Eureka集群被部署在了zone1机房和zone2机房中。
对这些概念的其他相关知识,也深入了解,大家感兴趣,可自行搜索下吧。
示例前,先看看集群模式下,Eureka的架构图。
修改spring-cloud-eureka-server项目
1.由于是在同一台进行模拟,首先修改hosts文件,当浏览器请求一个地址时,首先会从此文件选择对应对应的IP地址,找不到时才请求CDS域名解析服务器进行解析
C:\\Windows\\System32\\drivers\\etc\\hosts文件:
127.0.0.1 eureka-server
127.0.0.1 eureka-server1
分别启动2个注册中心
Eureka客户端注册至集群上
客户端只需要通过修改配置文件的eureka.client.service-url.defaultZone值即可。
修改spring-cloud-eureka-client项目
修改配置文件application.properties
分别启动二个服务提供端,启动后,可以看见eureka-client注册到2个注册中心上去了。
高可用测试
为了验证高可用性是否成功,创建一个spring-cloud-eureka-server-ha-test项目,作为服务消费者使用RestTemplate+ribbon进行调用spring-cloud-eureka-client的服务。
创建spring-cloud-eureka-server-consumer-message项目
pom依赖:
1.配置文件,配置注册中心地址
2.启动类,配置RestTemplateBean类,同时加入@LoadBalanced注解实现服务调用。
3.编写一个控制类,简单调用EUREKA-CLIENT服务方法。
4.启动应用类,访问注册中心和 http://localhost:9600 。
PS:福利来了,上源码!福利来了,上源码!
福利来了,上源码!
https://github.com/TheWays/springCloud
记得点赞哈
以上是关于Eureka高可用与负载均衡的主要内容,如果未能解决你的问题,请参考以下文章