ZUUL API 网关与 Spring Cloud API 网关的主要区别是什么?

PAA*_*PAA 6 spring-boot microservices

ZUUL API 网关与 Spring Cloud API 网关的主要区别是什么?另外,我们可以用什么替代Ribbon呢?您能否分享涵盖的示例示例

  • Zuul API网关,
  • Spring Cloud API网关,
  • 负载均衡器

dev*_*des 6

Zuul使用阻塞 API,即为每个请求分配一个线程,并且该线程将一直使用到生成响应为止。因此,线程将在整个生命周期内被请求阻塞。在这种情况下,可通过增加线程数来实现扩展,而线程数在某个时刻会有上限。

我试图在这里详细解释一下。

非阻塞 API 有助于扩展。一个线程将能够处理多个请求因此,对于反应式应用程序(微服务的常见用例),已经引入了 Zuul 2,它支持异步模式和非阻塞 api,但它不包含在 Spring Cloud 生态系统中。

Spring Cloud Gateway支持非阻塞 api和长寿命连接,例如 Web 套接字。扩展应用程序会更容易,因为一个线程可以接受请求并将其留待处理,并接受新请求,并在响应准备就绪时返回响应,因此不会浪费任何被阻塞的时间。

关于负载均衡器,你可以看看这篇文章。