Eureka的基础架构中的三个核心角色:

  1. 服务注册中心
    Eureka的服务端应用,提供了服务的注册和发现的功能,比如刚刚建立的 yuanxion-eureka。
  2. 服务提供方
    提供服务的应用,不仅可以是SpringBoot应用,而且可以是其他任意技术实现的应用,
    只需提供对外的Rest风格的服务就可以。比如刚刚建立的 yuanxion-service-provider。
  3. 服务调用方/服务消费方
    调用方应用从 服务注册中心 获取服务列表,得知每个服务提供方的信息,
    知道了去哪调用相应服务提供方。比如刚刚建立的 yuanxion-service-consumer。

此时我们所有的 服务提供方 和 服务调用方 的信息都在一个 服务注册中心/EurekaServer 上。
如果此时,这个EurekaServer出问题了,那整个服务系统就瘫痪了。
那么如何解决这个问题,使Eureka变成高可用的?

其实我们可以建立多个 服务注册中心 / EurekaServer,组成一个集群,形成高可用的服务注册中心。

 

下面就来演示一下,如何建立集群。

先copy一个Eureka运行实例:

取个名字,如何确定: 

 

 这样我们就又有了一个Eureka运行实例:

 

 而想要形成集群,首先端口肯定需要不一样的,然后Eureka还要互相注册。

修改配置文件:

 然后重启YuanxionEurekaApplication实例,
此时会报错,因为10087端口的实例还没有启动

但是不要紧,它每隔一段时间,就会去注册一次
等我们启动YuanxionEurekaApplication2实例后,他就会注册成功

我们现在再来修改一下配置文件
(此时修改配置文件,并不会影响YuanxionEurekaApplication实例,因为它已经启动了)

然后启动YuanxionEurekaApplication2 实例:

启动成功,此时我们再看看 YuanxionEurekaApplication实例的情况:

也启动成功了!

然后我们再去访问一下http://localhost:10086或者http://localhost:10087

 

 

 我们的Eureka注册中心集群就搭建好了,高可用的Eureka!

当有多更多的Eureka的集群时,比如端口号,10086,10087,10088,10089 的Eureka需要搭建集群
只需互相注册一次即可
比如
10086 向 10087 注册
10087 向 10088 注册
10088 向 10089 注册
10089 向 10086 注册

只要保证,每个Eureka 都在集群内的某个Eureka里 注册了 ,这样就可以了!