Spring Cloud 系列之服务注册与发现(三)
springcloud

鉴于上篇内容提出的思考拓展部分,此部门其实就是做了 application.yaml 的配置文件的更改。此篇的 Demo 通过单节点多端口来模拟多节点分布的 Eureka Server HA 集群。由于篇幅比较简单,我就直接将 microservice-discovery-eureka 做了 yaml 配置文件更改最终输出为 microservice-discovery-eureka-ha 的模块,就暂且不实现生产者服务和消费者服务了。

Eureka Server HA

microservice-discovery-eureka-ha

  • application.yaml 文件如下:
spring:
  application:
    name: microserver-discovery-eureka-ha
#eureka:
#  client:
#    service-url:
#      defaultZone: http://peer1:8001/eureka/,http://peer2:8002/eureka/
---
spring:
  profiles: peer1
server:
  port: 8001
eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      defaultZone: http://peer2:8002/eureka/
#    fetch-registry: true
#    register-with-eureka: true

---
spring:
  profiles: peer2
server:
  port: 8002
eureka:
  instance:
    hostname: peer2
  client:
    service-url:
      defaultZone: http://peer1:8001/eureka/
#    fetch-registry: true
#    register-with-eureka: true
  • 配置本地 hosts 文件:

由于是本地单节点模拟,为了能够解析到 domain 需要加如下配置

127.0.0.1 peer1

127.0.0.1 peer2

  • 通过 package 打成 jar 包运行
java -jar microservice-discovery-eureka-ha/target/microservice-discovery-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar microservice-discovery-eureka-ha/target/microservice-discovery-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

验证

成功运行后会嗨皮发现最终页面如下:

当然这是我在浏览器输入 http://peer1:8001 得到的输出

然后我们可以通过启动上篇的生产者服务和消费者服务,然后将其中的一个 Eureka Server 宕掉,发现服务还是可用的,即完成了验证。

此章节 demo 示例代码:chapter2-2

暂无评论