api gateway - downgoon/hello-world GitHub Wiki

API Gateway

演变

  • passport: 即便一个简单的passport,也能做到28亿美金的市值。它就是OKTA
  • 演变到授权:passport解决的是认证问题,但是它掌握了入口,于是它可以接着做授权。
  • API Gateway: passporttoken验证,最省事的方式是做到nginx里面,后端业务服务器侵入最少。这样无疑成了API Gateway.
  • 入口地位:有了 API Gateway,可演变的东西非常多
    • 数据分析:access log 都是用户行为
    • 调用链分析:系统之间的流转
    • 小流量平台:可以做灰度发布
    • 开放平台:对外以api.example.org的域名提供全站的API服务。
    • 自动化压力测试

API Gateway 的技术点

  • API规范:Swagger标准 + GraphQL (facebook推)
  • 降低接入门槛:任何API都能快速对接进来
  • OAuth2
  • Fork&Join: 从多个子系统收集信息,以单一接口汇聚。典型的:https://api.github.com/users/downgoon 各个子系统的信息都在这
  • 投影运算:字段太多,但是当前感兴趣的就那么几个,不想让费手机流量。
  • 限速:某个账号刷接口,必须阻止。
  • 配额:避免技术很差的接入方,把服务器的线程池都占了,拖垮整个服务器。
  • HTTP2:支持server-to-server的使用场景。
  • Web控制台:用户可以通过Web控制台来变更自己的配置信息。