会员接口治理的探索与实践
- 历史包袱过重,接口管理工具不统一:WIKI、YAPI、Swagger
- 接口维护成本高,代码和文档需要同时更新
- 接口联调和测试成本高,由于环境、链路导致的问题,排查难度大,业务复杂的需求可能会延期
方案调研
比较了现有平台(见下图),都不能满足会员的需求,但是Atlas是公司内部开发的平台,已经有接口管理的基础能力,可以共同开发,在平台上扩展会员需要的功能:代码即文档、一键链路排障、接口规范统一管控、签名和实体自动生成,不仅可以解决会员的痛点,还可以为公司其他部门赋能,避免了重复造轮子。
项目目标
- 简化开发 Atlas 让前后端数据交互更简单,让团队开发协作更容易。前端同学无需依赖后端开发进度,直接借助 mock 功能即可实现联调。
- 智能文档 实现代码即文档、文档即代码,文档自动同步代码改动,让文档维护更智能。
-
高效协作
支持强大的联调、 链路问题定位、代码自动生成等功能,前后端协作更高效。支持自动化的依赖分析,各关联方通过订阅方式,可以及时、准确地把握接口变更,通过图谱可以全面掌握影响范围。
解决方案
01 一键验证 基于全链路监控系统打通了环境平台内部的链路,实现了在开发和测试阶段可以一键定位环境和调用链路问题的能力,极大减少了研发和测试的排查时间。一键验证功能目前已覆盖了异步任务、RocketMQ 和 API 接口的问题排查。通过下图所示的排查链路,可快速定位异常服务和问题原因。- 一键搜索
- 历史追溯+版本对比
- 订阅及消息推送
- 签名算法模板,一键下拉选择
- 签名算法自定义,粘贴代码片段,动态解析计算
系统价值
会员研发和测试已经完全使用该平台,Q3 累计 75 个需求接入,提效显著:后续规划
- 提炼调试功能 将调试功能从接口管理中提升至首页,让用户可以不依赖接口信息,直接使用调试功能,并对接一键验证等功能。
- 代码自动化 通过 Atlas 提供服务接口的标准 json 数据,以规范数据做为桥梁连接前后端,实现前端代码的自动生成
- UML 图编辑 支持用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图在线创建和修改,提升协作的效率(目前一期基本画图功能已上线)
- 突破 etcd 限制!字节自研 K8s 存储 KubeBrain
- 周末小技 | 开发一个Feeds流系统——写扩散模式
- BIGO骨干网设计与实现(二)
- Paxos扩展: 偏序rnd = Paxos + 2PC
- vivo大数据日志采集Agent设计实践
本文由高可用架构转载。技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿