微服务和 API 网关

标签 microservices api-gateway

只是一般的好奇,我还没有找到任何关于它的信息。

我最近开始学习微服务及其相关内容,例如 API 网关。我知道 API 网关可以是 Web 应用程序等的单一入口点。但是,如果有多个服务,每个服务都有自己的一套(和共享?),它们会都在一个大的 API 网关下(用于共享授权、身份验证、访问控制等),还是它们每个都有一个网关?

最佳答案

这取决于您的要求。 API-Gateway 只是一个带有一组谓词和过滤器的代理服务。例如,如果这些是同一应用程序或共享服务的服务,那么我会将它们分别放在一个共享的 api-gateway 下,如果应用程序不同,则不同的 api-gateways。在您的情况下,如果您共享授权、身份验证、访问控制等,则可以创建单个 api-gateway。它还取决于这组服务的连接有多强以及它们如何通信,一组服务是否应该通过api网关与另一组服务通信,或者它们是否可以直接交互。如果他们可以在没有 api 网关的情况下进行交互,那么您可以将 api 网关设置为唯一一个。例如,我们有一个用于外部系统的 api 网关和第二个用于前端应用程序的 api 网关,这样做是为了分离访问并更容易管理来自外部系统的请求。例如,如果您有一组服务是主要应用程序,而第二组服务是一个培训系统,那么我为每组都制作了自己的 api-gateway,以便更好地隔离,以便它们通过单一的方式进行通信点和不知道对方的实现细节。

关于微服务和 API 网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61157225/

相关文章:

redirect - 重定向对于 API 网关来说是有效的策略吗?

amazon-web-services - 部署到不同阶段时无服务器共享 API 网关错误

java - 如何使用ribbon客户端修复没有可用于微服务的实例

rest - 微服务、amqp 和服务注册/发现

java - Kubernetes 上微服务之间集群间通信的最佳方式?

spring-boot - 无法将执行器启用到 spring 云网关格林威治

amazon-web-services - 使用 Azure 的 http 到 https 端点

spring-boot - 如何将预定作业实现为微服务

node.js - 如何从 Node 微服务调用其他 REST API 并将结果作为响应发送?

c# - 如何停止 Ocelot 的 PreAuthenticationMiddleware 中的请求?