Eureka 集群搭建(HA)原理与实战

文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 :

免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备
免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 经典图书:《Java高并发核心编程(卷2)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 经典图书:《Java高并发核心编程(卷3)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 经典图书:尼恩Java面试宝典 最新版 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
免费赠送 资源宝库: Java 必备 百度网盘资源大合集 价值>10000元 加尼恩领取


Eureka 高可用集群(HA)

在分布式系统中,任何的地方存在单点,整个体系就不是高可用的,Eureka 也一样,在上面的架构图中Eureka Server不是以单点存在的,而是以集群的方式对外提供服务。

说明:本文会以pdf格式持续更新,更多最新尼恩3高pdf笔记,请从下面的链接获取:语雀 或者 码云

为了提供高可用性,说白了就是保证机器挂了还是可以服务注册的能力,一般都不会将注册中心部署到一台机器上,而是采取多台机器部署,集群化管理。

注册中心的集群化,最简单的做法就是:

将注册中心相互注册,但是不开启检索服务的能力(fetch-registry: false

这也是Eureka的特性使得的,因为Eureka身兼三职,其中一职(Eureka Client)天然就是客户端角色。

模拟的实验,修改hosts文件,模拟三个节点,添加对应的映射:

127.0.0.1 register-master
127.0.0.1 register-salve1
127.0.0.1 register-salve2

主节点的配置为:

修改配置文件
master:
#服务端口
server:
  port: 8880

eureka:
  instance:
    hostname: register-master
  client:
    #通过设置fetch-registry与register-with-eureka 表明自己是一个eureka服务
    fetch-registry: false
    register-with-eureka: true
    #注册register-salve1,register-salve2做注册中心集群
    service-url:
      defaultZone: http://register-salve1:8881/eureka/,http://register-salve2:8882/eureka/

spring:
  application:
    name: register-center

salve1节点的配置为:

#服务端口
server:
  port: 8882

eureka:
  instance:
    hostname: register-salve1
  client:
    #通过设置fetch-registry与register-with-eureka 表明自己是一个eureka服务
    fetch-registry: false
	register-with-eureka: true
    #注册register-salve1,register-salve2做注册中心集群
    service-url:
      defaultZone: http://register-master:8880/eureka/,http://register-salve2:8881/eureka/

spring:
  application:
    name: register-center

salve2节点的配置为:

#服务端口
server:
  port: 8882

eureka:
  instance:
    hostname: register-salve2
  client:
    #通过设置fetch-registry与register-with-eureka 表明自己是一个eureka服务
    fetch-registry: false
	register-with-eureka: true
    #注册register-salve1,register-salve2做注册中心集群
    service-url:
      defaultZone: http://register-master:8880/eureka/,http://register-salve1:8881/eureka/

spring:
  application:
    name: register-center

主节点的控制台界面:

slave1节点的控制台界面:

slave2节点的控制台界面:

高可用原理

eureka:
 client:
   # false表示不向注册中心注册自己
   register-with-eureka: false
   # false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
   fetch-registry: false
   service-url:
     #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
     defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

  • 向注册中心注册自己

    register-with-eureka: true

  • 自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务

fetch-registry: false

说明:本文会以pdf格式持续更新,更多最新尼恩3高pdf笔记,请从下面的链接获取:语雀 或者 码云

posted @ 2021-01-09 16:45  疯狂创客圈  阅读(596)  评论(0编辑  收藏  举报