微服务和API网关

时间:2020-04-11 13:01:13

标签: microservices api-gateway

只是出于好奇,我一直找不到任何信息。

我最近开始学习有关微服务及其周围的内容,例如API网关。我了解API网关可以是Web应用程序等的单个入口点。但是,如果有多个服务,每个服务都有自己的一套(并共享?),它们将全部位于一个大型API网关(用于共享授权,身份验证,访问控制等)下,还是每个都有一个网关? >

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以通过一个API网关公开多个服务(REST,SOAP等)。您可以通过将微服务作为API发布在API网关中来创建微服务来实现您的业务逻辑并向外部用户/系统公开。 API-Gateway将为您提供以下功能,

  1. 用户身份验证
  2. 用户授权
  3. 节流管理
  4. 报告
  5. 交通监控
  6. API文档
  7. 和许多其他选项

通过使用API​​-网关,您不必担心API治理,即API-网关将对其进行管理。例如,您可以找到类似的AWS API网关,WSO2 API-网关。