SpringCloud之Eureka Server集群部署

前面这篇https://blog.csdn.net/qq_37892957/article/details/88629389博文讲完了Eureka Server的介绍,下面我们讲讲Eureka Server的集群化部署。

一、概述

1.1 高可用服务注册中心概述

    考虑到发生故障的情况,服务注册中心发生故障必将会造成整个系统的瘫痪,因此需要保证服务注册中心的高可用。

    Eureka Server在设计的时候就考虑了高可用设计,在Eureka服务治理设计中,所有节点既是服务的提供方,也是服务的消费方,服务注册中心也不例外。

    Eureka Server的高可用实际上就是将自己做为服务向其他服务注册中心注册自己,这样就可以形成一组互相注册的服务注册中心,以实现服务清单的互相同步,达到高可用的效果。

1.2 什么是服务注册中心集群?

    Eureka Server的同步遵循着一个非常简单的原则:只要有一条边将节点连接,就可以进行信息传播与同步。可以采用两两注册的方式实现集群中节点完全对等的效果,实现最高可用性集群,任何一台注册中心故障都不会影响服务的注册与发现。

二、项目搭建

2.1 创建三个SpringBoot项目 我这里名称是spring_cloud_eureka、spring_cloud_eureka1 、spring_cloud_eureka2

2.2 准备工作

 给C:\Windows\System32\drivers\etc下面的hosts文件添加几个配置

 

127.0.0.1 eureka1
127.0.0.1 eureka2
127.0.0.1 eureka3

2.3 配置三个项目的application.yml

spring_cloud_eureka  端口号8861

spring:
  application:
    #切记这里不能打下划线名称 不然会造成服务注册中心项目无法启动 详情可以看我的博文
    name: spring-cloud-eureka
  #配置安全检验机制
  security:
    user:
      name: root
      password: root

server:
  port: 8861

eureka:
  client:
    #服务端是否自己注册自己
    register-with-eureka: false
    #是否去检索服务
    fetch-registry: false
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka2:8862/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka3:8863/eureka/
  instance:
    #表示eureka server收到client的心跳时间开始 到等待下一次时心跳时间的最大等待时间 默认为90s 超过等待90秒 eureka server就会该实例剔除服务注册中心 (按需更改,可以不配置使用默认)
    lease-expiration-duration-in-seconds: 90
    #标识eureka client发送给server端的频率 如果在规定时间内 server端还未接收到心跳 则剔除该实例 默认时间30s (按需更改,可以不配置使用默认)
    lease-renewal-interval-in-seconds: 30

spring_cloud_eureka2 端口号8862

server:
  port: 8862
spring:
  application:
    name: spring-cloud-eureka
  security:
    user:
      name: root
      password: root

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka1:8861/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@eureka3:8863/eureka/

spring_cloud_eureka3 端口号8863

server:
  port: 8863
spring:
  application:
    name: spring-cloud-eureka
  security:
    user:
      name: root
      password: root

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka1:8861/eureka/,http://${spring.security.user.name}:${spring.security.user.password}eureka2:8862/eureka/

2.4 运行3个eureka server

访问localhost:8861 或者你访问其他的端口

你会发现在DS Replicas中已经自动找到你配置的其他eureka server了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

难搞哦!!

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

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

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

打赏作者

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

抵扣说明:

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

余额充值