架构 (IT)DevOps / 架构师

解释今天架构中API Gateway的目的和工作原理。

用 Hintsage AI 助手通过面试

答复。

API Gateway 是客户端与内部微服务之间的中介服务。它聚合调用,管理路由和授权,应用安全和限制策略,并转换和代理请求。

API Gateway的作用是隐藏服务的内部结构,统一交互。这有助于降低耦合,提高前端开发速度,并提供对访问和日志的集中控制。

以下是将nginx配置为最简单的API Gateway的示例:

server { listen 80; location /user/ { proxy_pass http://localhost:8081/; } location /order/ { proxy_pass http://localhost:8082/; } }

关键特性:

  • 集中身份验证、监控和日志记录
  • 允许添加新服务而无需客户端更改
  • 灵活管理路由和API版本控制

具有陷阱的问题。

一个服务能否绕过API Gateway调用另一个服务?

内部服务可以在私有场景中使用直接调用,但对于外部客户来说,API Gateway是主要的访问方式。

API Gateway是否是单点故障?

是的,如果不配置集群和负载平衡的话。重要的是启动多个实例并使用负载均衡器。

API Gateway可以缓存响应吗?

可以,先进的网关可以缓存GET请求,从而降低服务负载并加快数据响应。以下是Kong中配置缓存的示例:

plugins: - name: proxy-cache config: strategy: memory content_type: [application/json] cache_ttl: 300