美文网首页
Eureka高可用与负载均衡

Eureka高可用与负载均衡

作者: 带着二娃去遛弯 | 来源:发表于2019-05-30 14:47 被阅读0次

简单来说,Eureka Server的高可用,实际上就是将自己也作为服务向其他服务注册中心进行注册,这样就可以形成一组相互注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。

另外,从官网文档中有提到ZonesRegionsRegionZone(或者Availability Zone)均是AWS的概念。在非AWS环境下,我们可以先简单地将region理解为Eureka集群,zone理解成机房。下图就可以理解为一个Eureka集群被部署在了zone1机房和zone2机房中。

image

对这些概念的其他相关知识,也深入了解,大家感兴趣,可自行搜索下吧。

示例前,先看看集群模式下,Eureka的架构图。

image
  1. Service Provider会向Eureka Server做Register(服务注册)、Renew(服务续约)、Cancel(服务下线)等操作。
  2. Eureka Server之间会做注册服务的同步,从而保证状态一致
  3. Service Consumer会向Eureka Server获取注册服务列表,并消费服务
    Eureka服务端高可用
    通过点对点配置,注册中心通过相互注册来实现高可用配置。以下构建一个双节点的集群模式。

修改spring-cloud-eureka-server项目

image.png image.png

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

image.png image.png

分别启动二个服务提供端,启动后,可以看见eureka-client注册到2个注册中心上去了。

高可用测试

为了验证高可用性是否成功,创建一个spring-cloud-eureka-server-ha-test项目,作为服务消费者使用RestTemplate+ribbon进行调用spring-cloud-eureka-client的服务。

创建spring-cloud-eureka-server-consumer-message项目

pom依赖:


image.png

1.配置文件,配置注册中心地址


image.png

2.启动类,配置RestTemplateBean类,同时加入@LoadBalanced注解实现服务调用。


image.png

3.编写一个控制类,简单调用EUREKA-CLIENT服务方法。


image.png

4.启动应用类,访问注册中心和http://localhost:9600

PS:福利来了,上源码!福利来了,上源码!
福利来了,上源码!
https://github.com/TheWays/springCloud
记得点赞哈

相关文章

网友评论

      本文标题:Eureka高可用与负载均衡

      本文链接:https://www.haomeiwen.com/subject/wcgwzqtx.html