【发布时间】:2020-07-24 04:50:55
【问题描述】:
只是一般的好奇,我还没有找到任何关于它的信息。
我最近开始学习微服务及其周围的东西,例如 API 网关。我知道 API 网关可以是 Web 应用程序等的单一入口点。但是如果有多个服务,每个都有自己的集合(并且共享?),它们是否都在一个大的 API 网关下(用于共享授权、身份验证、访问控制等),还是每个都有一个网关?
【问题讨论】:
只是一般的好奇,我还没有找到任何关于它的信息。
我最近开始学习微服务及其周围的东西,例如 API 网关。我知道 API 网关可以是 Web 应用程序等的单一入口点。但是如果有多个服务,每个都有自己的集合(并且共享?),它们是否都在一个大的 API 网关下(用于共享授权、身份验证、访问控制等),还是每个都有一个网关?
【问题讨论】:
这取决于您的要求。 API-Gateway 只是一个带有一组谓词和过滤器的代理服务。例如,如果这些是同一个应用程序的服务或共享服务,那么我会将它们分别放在一个共享的 api-gateway 下,如果应用程序不同,则使用不同的 api-gateway。在您的情况下,如果您具有共享授权、身份验证、访问控制等,则可以创建单个 api-gateway。还取决于这组服务的连接强度以及它们之间的通信方式,一组服务是否应该通过 api 网关与另一组服务通信,或者它们是否可以直接交互。如果他们可以在没有 api 网关的情况下进行交互,那么您可以让 api 网关成为唯一的网关。例如,我们有一个 api-gateway 用于外部系统,另一个 api-gateway 用于前端应用程序,这样做是为了分离访问并更容易管理来自外部系统的请求。例如,如果您有一组服务是主应用程序,而第二组服务是训练系统,那么我为每组服务都制作了自己的 api-gateway,以便更好地隔离并通过单个服务进行通信点,不知道对方的实现细节。
【讨论】:
您可以通过单个 API 网关公开多个服务(REST、SOAP 等)。您可以创建微服务来实现您的业务逻辑,并通过将这些服务发布为 API 网关中的 API 来向外部用户/系统公开。 API-Gateway 将帮助您完成以下功能,
通过使用 API-Gateway,您无需担心 API 治理,即 API-Gateway 将管理它。比如你可以找到AWS API gateway,WSO2 API-Gateway之类的。
【讨论】: