使用场景

最近更新时间: 2024-06-12 15:06:00

微服务开发

在用户系统为微服务架构开发的情况下,微服务架构带来如下状况:

  • 大量的微服务模块
  • 每个模块均提供自身的 API 服务接口
  • 每个模块均提供自身服务的地址或 LB
  • 某些 API 调用存在前后关联
  • 某些情况需对多个 API 进行调用来获取最终数据
  • API 的调用规范,命名方式,参数设计不一定统一
  • 每个模块的 API,均需要进行认证和鉴权
  • 某些模块的 API 请求可能由于业务突发性增大

在这种情况下,对 API 的管理和使用,会随着微服务模块的增长而越来越麻烦。而利用 API 网关,能很好的解决这些问题:

  • 利用 API 网关,完成 API 的统一管理,对于要使用的 API 的用户,仅需在一个地方完成 API 使用查询。
  • 利用 API 网关,自动生成文档和 SDK,并可以自动完成测试调用,利于使用者或开发者更快速的开始使用 API。
  • 利用 API 网关,进行请求流控,不会导致后端模块由于突发性压力而失败。
  • 利用 API 网关,控制多个调用依赖,对外仅暴露一次调用。
  • 利用 API 网关,可进行多个调用的结果拼接,聚合多个后端服务,对外仅暴露一个接口。
  • 利用 API 网关,可统一 API 的规范,命名,参数调用方式。
  • 利用 API 网关,可进行统一的 API 认证和鉴权。

传统应用的 API 暴露

利用 API 网关,传统应用无需直接将旧有的 API 接口直接暴露在公网上,避免服务器漏洞和安全性问题;同时可以借助 API 网关内的流量控制,防止过大的突发性请求传递到应用上,引起应用或服务故障,可无需再使用负载均衡。利用 API 网关的 CC 防护和 WAF应用防火墙,也可以直接避免黑客攻击导致的安全问题。结合云平台提供的 CAM 能力,为不同使用者或客户端提供不同权限的访问控制,满足各层次的需求。