【JavaP6大纲】SpringCould篇:网关Zuul、Gateway、nginx的区别

2021-04-22 15:44:15 浏览数 (1)

zuul:

  • 是Netflix的,早期在微服务中使用较广泛,是基于servlet实现的,阻塞式的api,不支持长连接只能同步,不支持异步。 不依赖spring-webflux,可以扩展至其他微服务框架。 内部没有实现限流、负载均衡,其负载均衡的实现是采用 Ribbon Eureka 来实现本地负载均衡。 代码简单,注释多,易理解。

Gateway:

  • 是springcloud自己研制的微服务网关,是基于Spring5构建,,能够实现响应式非阻塞式的Api支持长连接。 支持异步。 功能更强大,内部实现了限流、负载均衡等,扩展性也更强。Spring Cloud Gateway明确的区分了 Router 和 Filter,并且一个很大的特点是内置了非常多的开箱即用功能,并且都可以通过 SpringBoot 配置或者手工编码链式调用来使用。 依赖于spring-webflux,仅适合于Spring Cloud套件。 代码复杂,注释少。

nginx:

  • C语言编写,采用服务器实现负载均衡,高性能的HTTP和反向代理web服务器。 Nginx适合于服务器端负载均衡,Zuul和gateway 是本地负载均衡,适合微服务中实现网关。Spring Cloud Gateway 天然适合Spring Cloud 生态。

0 人点赞