【问题标题】:Should I use Spring Cloud Gateway or Ngnix for Web application我应该在 Web 应用程序中使用 Spring Cloud Gateway 还是 Nginx
【发布时间】:2021-06-21 00:21:41
【问题描述】:

我创建了一个基于 Spring Cloud Gateway 作为 Api Gateway 的完整应用程序微服务架构,具有后端服务、RabbitMQ 等,如下面的截图链接所示,由 Spring 建议。我还有一个以 Keycloak 形式用 Angular 和 SSO 编写的 Web 应用程序。我的 Web 应用程序基于 Nginx。

https://spring.io/images/diagram-microservices-dark-4a2e5817aac093437f4f3b3a5be8be88.svg

我的问题是,主要入口点是否应该是 Spring Cloud Gateway,然后是路由到 Web 应用程序,或者更确切地说是 Nginx Angular,它将 Api Gateway 和 SSO 作为单独的实体进行查询?

【问题讨论】:

  • 你能分享你的代码吗?
  • 如果您使用 Keycloak 的 UI 进行身份验证,您可以选择任何一种方式,但如果您依赖 Keycloak 的 API,我的建议是让 Spring Cloud 网关仅作为后端服务的入口点。用户首先使用 Nginx Angular,对于后端 API,它们由 SCG 路由。
  • 感谢您的回复。我曾经使用 SCG 作为使用 Keycloak API 的资源服务器,但目前我正在考虑减少访问网关以限制服务产生的请求。所以我试图直接从前端调用 SSO。

标签: angular spring nginx microservices spring-cloud-gateway


【解决方案1】:

我认为我们可以从 Netflix Zuul 中学到很多关于 Spring Cloud Gateway 的知识,因为它起源于(?)来自 Zuul。

在 Zuul 案例中,主要入口点是网关。

Zuul 文章和幻灯片: https://github.com/Netflix/zuul

Zuul 与 Nginx 性能对比: https://instea.sk/2015/04/netflix-zuul-vs-nginx-performance/

【讨论】:

  • 首先Zuul处于维护模式。目前是响应式编程时代,Zuul 使用的是具有阻塞线程的 Tomcat,真正的比较如下:link 我可以建议您在构建高效解决方案的同时以响应式方式思考。
猜你喜欢
  • 1970-01-01
  • 2010-11-28
  • 1970-01-01
  • 1970-01-01
  • 2019-02-08
  • 2017-03-06
  • 2017-07-09
  • 1970-01-01
  • 2014-05-01
相关资源
最近更新 更多