问题: 现在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