API网关-API生命周期管理

原创
2021/03/19 10:36
阅读数 374

       随着业务的迭代,新的API注册进来,旧API随着相关活动下线,或者功能下线,已经没有任何流量,此时要提醒开发下线接口,并且清理接口相关的代码。从流量的维度来更新代码,避免应用包越来越大,僵尸代码越来越多。

      在我们的实践中,网关层会记录接口访问日志,通过离线任务来统计每个API接口每天的调用量,依赖上个任务产出的每日API调用量,可以产出最近30天,60天API调用量,如果最近60天API都没有任何调用,自动提醒此接口的开发者,本接口最近60天都没有任何调用量,可以考虑下线接口,清理代码了。

      提醒的任务不需要每天运行,每周运行一次即可,最好安排在周一,如果放到周五提醒,一个周末过去,大概率要被忘记。统计可以按照应用维度汇总接口,这样开发者不至于一下接收太多的接口下线提醒消息。

     接口下线的步骤:

  •  先从网关层下线接口
  • 再观察一段时间,如果有反馈,只需要重新上线即可
  • 没有反馈和接口没有任何调用,代码层面清理
  • 重新发布应用

     还需要运行一个离线任务,统计下线后的接口,最近30天的调用情况,如果突然有很大的量,提醒开发。如果能做成实时任务,那就更理想了。接口下线后,如果此接口调用量突然大增,就给应用开发发送消息提醒,恢复接口上线。

    对于开发者来说,看着应用代码越来越膨胀,想重构、精简代码,但是不知道哪些接口可以删除,只能重构所有代码,但是部分代码其实没有任何调用了,重构只是浪费时间。一个应用的重构,先梳理入口,一个后端应用的入口大部分只有:

  1. 对外提供的API接口
  2. 对外提供的RPC接口
  3. 定时任务

    一个公司的基础设施应该要提供API接口流量情况,RPC接口流量情况,这样开发才可以通过评估流量情况,精简代码,保持应用的活性,一个应用中有用代码占比越高,活力越好,如果被僵尸代码包围,那这个应用距离线上事故也就越近。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部