Spring Cloud微学习(二)Eureka入门——集群

本文介绍了在微服务架构中,为了提高服务注册中心的可用性,如何构建Eureka的高可用集群。通过设置多个节点并实现相互注册,确保即使单个节点故障,其他客户端也能从存活的节点获取服务信息。详细步骤包括配置application-peer1.yml和application-peer2.yml,模拟集群环境,客户端配置修改以注册到两个服务注册中心,以及在IP地址配置中使用eureka.instance.prefer-ip-address=true来避免主机名问题。

引言:上一节 Eureka初探中我们介绍了Eureka服务端以及客户端的基本搭建方法,那么考虑如果Eureka所在的服务器挂掉了,就相当于所以客户端的通讯连接断了。这一节将介绍如何降低出现这种问题的概率。
“在微服务架构这样的分布式环境中, 我们需要充分考虑发生故障的情况, 所以在生产环境中必须对各个组件进行高可用部署, 对于微服务如此, 对于服务注册中心也一样。 但是到本节为止,我们一直都在使用单节点的服务注册中心,这在生产环境中显然并不合适,我们需要构建高可用的服务注册中心以增强系统的可用性。”——《Spring Cloud微服务实战》1

看过上一节 Eureka初探的内容可以看到,在搭建Eureka服务端的时候加了配置registerWithEureka: falsefetchRegistry: false意思是不让服务中心注册自己。现在要解决单点故障风险,我们需要做一个Eureka注册中心集群,需要让服务中心集群相互注册。以两个节点为例,配置如下:

  • 新建application-peer1.yml
server:
  port: 11111
spring:
  application:
    name: eureka-server
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:22222/eureka/
  • 新建application-peer2.yml
server:
  port: 22222
spring:
  application:
    name: eureka-server
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:11111/eureka/
  • 配置IP与主机名映射模拟集群环境
    打开编辑C:\windows\system32\drivers\etc\hosts,加入如下内容保存
127.0.0.1 peer1
127.0.0.1 peer2
  • 打包运行

使用Maven Install生成eureka.jar文件,命令行分别执行java -jar eureka.jar --spring.profiles.active=peer1java -jar eureka.jar --spring.profiles.active=peer2

这里写图片描述

  • 查看运行状态

打开浏览器输入http://localhost:11111http://localhost:22222
这里写图片描述

  • 客户端配置

修改上一节 Eureka初探中提到的客户端配置application.yml,目的是把hello-service注册到两个服务注册中心中

server:
  port: 80
eureka:
  client:
    serviceUrl:
      defaultZone: http://peer1:11111/eureka/,http://peer2:22222/eureka/
spring:
  application:
    name: hello-service

打包运行客户端,再打开浏览器输入http://localhost:11111http://localhost:22222,发现hello-service已经同时注册到了两个服务中心中,这时如果其中一个服务中心故障,其它客户端可以从另一个服务中心获取到hello-service提供的服务
这里写图片描述

如我们不想使用主机名来定义注册中心的地址,也可以使用IP地址的形式, 但是需要在配置文件中增加配置参数eureka.instance.prefer江p-address= true, 该值默认为false ——《Spring Cloud微服务实战》


  1. 《Spring Cloud微服务实战》第3章 高可用注册中心中描述的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱清清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值