应用场景

最近更新时间:2019-07-30 17:42:43

微服务开发

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

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

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

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

Serverless 开发

使用 Serverless Cloud Function 开发,在撰写函数后,如果是想向外提供 API 服务,以便 App、Web 前端、Client 等访问,则需要有访问途径。

利用 API 网关,配置 API 对接后端的 Cloud Function,则对 API 的请求,均会触发 Cloud Function 的执行,实现业务功能。对于 Serverless 开发,做到了每次仅对实际请求和执行过程付费。

传统应用的 API 暴露

利用 API 网关,传统应用无需直接将旧有的 API 接口直接暴露在公网上,避免服务器漏洞和安全性问题;同时可以借助 API 网关内的流量控制,防止过大的突发性请求传递到应用上,引起应用或服务故障。后续结合腾讯云提供的 CAM 能力,为不同使用者或客户端提供不同权限的访问控制,满足各层次的需求。