SpringCloud之Eureka高可用注册中心(单机部署)

EurekaServer的高可用实际上就是讲自己作为服务向其他的服务注册中心注册自己,这样就可以形成一组互相注册的服务注册中心,以实现服务清单的互相同步。

单个的Eureka的服务端和客户端,课参考我的上一篇博客https://mp.csdn.net/postedit/90634842

那么久直接开始今天的代码:

  • 创建application-peer1.propertise,作为服务中心,serviceUrl指向peer2
spring.application.name=eureka-server
server.port=1111

eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/
  • 创建allpication-peer2.properties,作为peer2服务中心,serviceUrl指向peer1
spring.application.name=eureka-server
server.port=1112

eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/
  •  在/etc/hosts文件中添加peer1和peer2的转换,host的文件路径:C:\Windows\System32\drivers\etc\hosts中添加

 127.0.0.1 peer1
 127.0.0.1 peer2

  • 将项目打包使用spring,profiles.active属性来分别启动peer1和peer2:
java -jar C:\Users\Administrator\Desktop\eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1

java -jar C:\Users\Administrator\Desktop\eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

C:\Users\Administrator\Desktop\  为你jar放置的路径

当你启动第一个的时候,会报错找不到服务:

 不用担心,这是正常的,因为作为注册中心,可以将自己作为服务注册自己,那么在没有启动另外一个服务中心的时候,当然就找不到服务了。

  • 当两个服务都起来后,分别访问http://localhost:1111和http://localhost:1112,都可以看到eureka-service服务

 

  • 在设置了多节点的服务注册中心之后,服务提供方需要做一些简单的配置才能将服务注册到EurekaService集群中,主要就是修改application.properties配置文件中的eureka.client.serviceUrl.defaultZone的属性做改动,将注册中心指向peer1和peer2 
spring.application.name=helloDemo-service

eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/

启动 服务提供方(即客户端)项目,可以看到helloDemo-service服务同时被注册到了peer1和peer2

 

由于helloDemo同时注册向peer1和peer2上了,既是断开其中一个注册中心,那么在另外一个注册中心依然能访问到helloDemo-service,从而实现了服务注册中心的高可用

 

由于在实际应用中都是多台服务器,所以就不需要再host文件中配置域名,只需要在注册中心的配置文件中添加

eureka.instance.prefer-ip-address=true,该值默认为false,这样就可以指定eureka.instance.hostname为服务器IP

 

充实的一天又即将过去,在不断的学习中茁壮成长!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值