SpringCloud极简入门(四)高可用的Eureka Server集群

作者:陈刚,叩丁狼高级讲师。原创文章,转载请注明出处。

一.什么是高可用Eureka Server集群

在实际开发中,微服务实例可能有几十上百个之多,由于Eureka Server需要承担服务的注册任务,当服务数量一多,Eureka Server就需要承担非常高的负载,在SpringCloud中我们可以实现Eureka Server的高可用集群来减小负载,简而言之就是多创建几个Eureka Server程序相互注册来分担注册中心的压力。图例:

image.png

二.项目改造

我们已经有一个Eureka Service应用,在这里我们把该应用进行改造,使用 多profile 的格式配置成两个Eureka Service环境

1.修改原本的application.yml配置文件,重命名为 application-peer1.yml,并修改内容如下:

spring:
  profiles: peer1  #指定环境为 peer1
server:
  port: 1111    #注册中心 服务端口号为 1111
eureka:
  instance:
    hostname: peer1 #主机名
  client:
    serviceUrl:
      defaultZone: http://peer2:1112/eureka/
      #指向注册中心 peer2 的服务地址

2.再创建一个配置文件:application-peer2.yml,内容如下:

spring:
  profiles: peer2  #指定环境为 peer2
server:
  port: 1112    #注册中心 服务端口号为 1112
eureka:
  instance:
    hostname: peer2 #主机名
  client:
    serviceUrl:
      defaultZone: http://peer1:1111/eureka/
      #指向注册中心 peer1 的服务地址

在我们的配置文件中去掉了配置项:client.registerWithEureka 和 client.fetchRegistry ,因为我们需要实现注册中心之间的相互注册实现到高可用。并且我们定义了两个profile : peer1的hostname为 peer1,而peer2的hostname也是peer2,在实际开发中hostname应该配置为具体的服务IP,由于我们这里搭建的是本地Eureka Server集群,对于主机名:peer1和peer2我们需要在 hosts文件中去配置主机名。

3.配置主机名:window系修改:c:/window/systems/drivers/etc/hosts 文件,mac系统通过vim/etc/hosts 修改,添加内容如下:

#本地ip地址  主机名
127.0.0.1    peer1
127.0.0.1    peer2

4.打包EurekaServer应用 :运行package进行打包

5.启动EurekaServer应用:
执行package打包后,在字节码输出目录会有打包好的应用jar包,
image.png

找到其所在路径分别使用如下命令启动两次项目:

#使用 配置环境(profile) pee1启动注册中心服务
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1

#使用 配置环境(profile) pee2启动注册中心服务
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

6.启动一个Eureka Client项目 :Producer
并访问 :http://localhost:1111/ 你会发现 Producer服务向 peer1节点的注册中心进行注册了,并且你还可以看到在Ds Replicas中显示了节点peer2,如图:

访问:http://localhost:1112/ 你会发现 Producer 服务也在 peer2节点的注册中心进行注册了,而我们的Producer应用的配置文件中的注册中心地址并没有指向 peer2,并且你可以在 DS Replicas中看到peer1 ,那说明我们的高可用集群成功,如图:

image.png


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值