Java 服务网关单点故障(Netflix Zuul)

Java 服务网关单点故障(Netflix Zuul),java,microservices,netflix-zuul,netflix,Java,Microservices,Netflix Zuul,Netflix,我试图寻求设计实现的建议,在微服务架构中使用服务网关 A、 B、C、D、E、F是6个微服务 他们有两种可能的交互场景 案例1:如果我让他们自己互动 案例2:如果我使用服务网关进行通信 计划使用的服务网关是Netflix Zuul 我关心的是服务网关的单点故障 如果我的服务网关(Netflix Zuul)关闭,所有的微服务将停止交互 尽管如此,由于这是一个理论上被接受的架构,我仍在尝试寻求建议以消除恐惧 在案例1和案例2之间,对于一组大约6个微服务,应该首选什么?这两种案例都有各自的优缺点。

我试图寻求设计实现的建议,在微服务架构中使用服务网关

A、 B、C、D、E、F是6个微服务

他们有两种可能的交互场景

案例1:如果我让他们自己互动

案例2:如果我使用服务网关进行通信

计划使用的服务网关是Netflix Zuul

我关心的是服务网关的单点故障

如果我的服务网关(Netflix Zuul)关闭,所有的微服务将停止交互

尽管如此,由于这是一个理论上被接受的架构,我仍在尝试寻求建议以消除恐惧


在案例1和案例2之间,对于一组大约6个微服务,应该首选什么?

这两种案例都有各自的优缺点。 大多数行业更喜欢使用第二种方法,比如使用服务网关,或者说API网关可以解决许多问题,如安全性、服务发现等。此外,Zuul的单点故障也不太重要,因为您可以使用多个Zuul实例(可能是2个)并对它们进行负载平衡,从而解决单点故障的问题

考虑到第一种情况,您缺乏单点安全性,必须提供微服务级别的安全性(如OAuth2)。 此外,广泛用于故障和超时的常见设计模式是Hystrix。 在实现第一种方法时,您始终可以使用它

我想这可能会有帮助