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

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 生态。
posted @ 2021-04-19 16:51  javawxid  阅读(490)  评论(0编辑  收藏  举报