zuul:
- 是Netfix的,早期在微服务中使用较广泛,是基于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和qateway
- 是本地负载均衡,适合微服务中实现网关。Spring Cloud Gateway 天然适合Spring Cloud 生态。