API能力开放平台设计思路剖析(api开放平台是什么)
迎关注我的头条号:Wooola,10年 Java 软件开发及架构设计经验,专注于 Java、Go 语言、微服务架构,致力于每天分享原创文章、快乐编码和开源技术。
现状分析
1、目前新闻发布系统维护着诸多的对外接口,如待办待阅、新闻公告、应用中心等。很多现有的接口服务寄宿在各个不同的微服务。随沃行、任我行、第三方业务系统等在使用新闻发布系统API接口时,没有有效监控及统一管理起来。并且以前的API调用模式也是比较复杂,排错困难。
2、目前已经对外提供服务有待办待阅查询及更新服务,新闻公告查询服务, 应用查询服务等。
总体建设思路
- 构建API通用能力管理平台(应用接入管理、API安全校验管理、API限流管理、应用黑白名单、API访问报表运营分析)
- 技术上提供客户端二进制包:SDK,改变之前暴露URL调用方式(暂定支持Java版)
- 通过服务网关SpringCloud ZuuL限流,保证服务对外的稳定性。
- 应用黑白名单、密钥、应用接口权限控制等保证API接口安全性。
总体架构
应用接入层
- PC端
- 移动端
- 第三方应用
服务网关ZUUL
- API限流
- 安全校验(token、appId)
API能力开放服务层
- 待办事宜能力开放微服务
- 新闻能力开放微服务
- 应用能力开放微服务
核心服务层
- 待办事宜核心微服务
- 新闻核心微服务
主要内容
应用接入管理
1、应用接入审核管理
2、应用管理
3、应用接入日志管理
API安全管理
1、待办待阅、新闻公告、应用中心等API访问权限控制
2、应用密钥Token认证
3、应用黑白名单
4、待办待阅、新闻公告、应用中心等API限流管理
SDK(软件开发工具包)
1、封装待办待阅对外提供待办待阅查询、批量已阅、已办已阅查询、历史已办已阅查询、关注、领导委托查询等
2、封装新闻公告对外提供新闻列表及详情查询、公告列表及详情查询、分类查询、标签查询、评论点赞、首页新闻推荐查询等
3、封装应用中心对外提供用户应用列表查询等
API报表运营分析
不足之处,欢迎在评论区提建议,谢谢!