| 2022年9月24日
前言
一个互联网技术玩家,一个爱聊技术的家伙。在工作和学习中不断思考,把这些思考总结出来,并分享,和大家一起交流进步。
合理化的图文组织,让大家可以更容易学习一个技术。
今天分享的是在 推 上看到的一个对 API Gateway 解析的图,感觉不错,比较清晰的指出 API Gateway 一般会做哪些事情。
解说
这图还是比较清晰的说明了 API Gateway 在一个服务中到底会做哪些事情。我在公司内也在建设内部的一个 API Gateway。一个常见的 API Gateway 就应该这么建设和这么使用。
下面看看我在做的 API Gateway 的一个思路,大同小异,但是我是希望这个东西能能系统化,系统化的解决 API 的问题。
我们在做的这个 API Gateway 有这样一些特点。
- 基于开源项目 Envoy 研发,随时可以更新开源社区的新功能。
- 业务插件和能力扩展:已经积累了 30 多种业务插件,接管或者卸载一部分业务服务要做的通用能力到 Gateway,让业务更加轻松方便使用。
- 完善的内网外部接入能力:外网支持北极星,CLB的完整接入,内网支持北极星,service,ip,域名等多种方式。
- 可观测性和监控:基于 K8S 的容器后监控能力,cpu 负载,内存等等;还有访问日志监控体系,还有可以轻松检索你的每一条请求,并且可以基于状态码和关键字进行告警。
- 强大的路由管理能力:支持header头,url等多种匹配和多种路由算法。
- 服务契约管理:具有配套的API契约管理能力,基于PB和OpenAPI轻松管理你服务的API。结合 PB 生成 swager 的 API 管理文档,并且结合 OpenAPI 也可以很好的管理,还有导出导出文档。在线简单测试,测试用例管理,测试历史以及 API 的 mock 能力都有。
关注「黑光技术」,关注大数据+微服务