注册中心Eureka集群

注册中心这么关键的服务,如果是单点话,遇到故障就是毁灭性的。在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态。为了维持其可用性,使用集群是很好的解决方案。Eureka通过互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署。

双节点注册中心

首次我们尝试一下双节点的注册中心的搭建。

1、创建application-peer1.properties,作为peer1服务中心的配置,并将serviceUrl指向peer2

# 端口号
server.port=8201
#域名
#eureka.instance.hostname=192.168.41.24
eureka.instance.hostname=peer1
#默认设置下,服务注册中心也会将自己作为客户端来尝试注册自己,这里禁用它的客户端注册行为
#eureka.client.register-with-eureka=false
#由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false
#eureka.client.fetch-registry=false
#默认服务器地址
#eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
eureka.client.service-url.defaultZone=http://peer2:8202/eureka/
#服务器名
spring.application.name=MyEurekaCenter

2、创建application-peer2.properties,作为peer2服务中心的配置,并将serviceUrl指向peer1

# 端口号
server.port=8202
#域名
#eureka.instance.hostname=192.168.41.24
eureka.instance.hostname=peer2
#表明自己是一个注册服务中心
#eureka.client.register-with-eureka=false
#eureka.client.fetch-registry=false
#默认服务器地址
#eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
eureka.client.service-url.defaultZone=http://peer1:8201/eureka/
spring.application.name=MyEurekaCenter

3、host转换

在hosts文件中加入如下配置(路径:C:\Windows\System32\drivers\etc)

127.0.0.1 peer1  
127.0.0.1 peer2  

4、启动项目

创建application.properties

通过不同的域名启动

spring.profiles.active=peer2
spring.profiles.active=peer1

依次启动后,在浏览器输入http://192.168.41.24:8201/效果图如下:

扫描二维码关注公众号,回复: 2201799 查看本文章


根据图可以看出peer1的注册中心DS Replicas已经有了peer2的相关配置信息,并且出现在available-replicas中。我们手动停止peer2来观察,发现peer2就会移动到unavailable-replicas一栏中,表示peer2不可用。

到此双节点的配置已经完成

eureka集群使用

在生产中我们可能需要三台或者大于三台的注册中心来保证服务的稳定性,配置的原理其实都一样,将注册中心分别指向其它的注册中心。这里只介绍三台集群的配置情况,其实和双节点的注册中心类似,每台注册中心分别又指向其它两个节点即可。


猜你喜欢

转载自blog.csdn.net/qq_38789941/article/details/80706207