work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Eureka的高可用

Posted on 2018-11-15 14:50  work hard work smart  阅读(321)  评论(0编辑  收藏  举报

问题: 现在Eureka和Client是1对1,但是Eureka挂了,就不能用了。

如何解决呢,创建多个Erurka。并且Eureka进行相互注册。如下图

 

怎么相互注册呢

1. 创建两个Eureka

一个端口为8761

另外一个端口为8762

 

2. 启动EurekaApplication和EurekaApplication2

1) EurekaApplication启动

然后在EurekaApplication 注释掉8761端口,修改defaultZone的端口为8762

将EurekaApplication注册到8762

 

2) EurekaApplication2启动

将 EurekaApplication2注册到8761端口

 

 

3.结果:

Client的配置不变

 

但是注册中心的8761有Client注册过来, 8732也有Client注册过来

 

8732的Client注册过来

 原因是相互注册后,两个的信息有相互交换。

 

4. 停掉EurekaApplication后, EurekaApplication2还是可以查看到Client注册在上面

 

5. 如果写成8761和8762  8761挂了后,还是可以注册成功的。

 

6. 如果以后项目扩大到三个Eureka呢,那就让三个Eureka进行相互注册

如下图配置 EurekaApplication3的 defaultZone设置为8761和8762 。 同理EurekaApplication2和EurekaApplication也做相应的配置

 

7. 服务发现的两种方式

客户端发现和服务端发现

客户端发现: Eureka

服务端发现: Nginx, Zookeeper, Kubernetes