乐优商场项目day02——高可用的Eureka
Eureka的基础架构中的三个核心角色:
-
服务注册中心
Eureka的服务端应用,提供了服务的注册和发现的功能,比如刚刚建立的 yuanxion-eureka。 -
服务提供方
提供服务的应用,不仅可以是SpringBoot应用,而且可以是其他任意技术实现的应用,
只需提供对外的Rest风格的服务就可以。比如刚刚建立的 yuanxion-service-provider。 -
服务调用方/服务消费方
调用方应用从 服务注册中心 获取服务列表,得知每个服务提供方的信息,
知道了去哪调用相应服务提供方。比如刚刚建立的 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里 注册了 ,这样就可以了!