大批量API的管理技巧

系统服务化、API化,需要管理大量的API,这对于API的提供者和使用者来说,都存在很大的管理与沟通成本,这将是企业发展API经济的瓶颈。


1.建立统一的API管理平台

1)实现API完整生命周期管理

完成API从开发、测试、上线、下线,以及对API运行情况的监控、出现异常轻狂时及时报警等。

2) 有良好的API服务发现机制

API需要给给客户提供API的发现途径,每当API增加或调整时,能有让客户及时发现。

3)提供API文档和SDK

给各开发者提供API的说明文档,包含Request和Response的描述,还应为各种客户场景提供多种语言的SDK,让用户很简单的操作就能调用API,且为了保证用户能够及时、准确的获得SDK和API文档,最好能够自动生成。以降低API开发和迭代成本。

2. 建立安全防护体系

API带来便利的同时,也带来了风险,需要对API进行相应的用户认证、权限控制、限流流量控制等手段来保证服务的安全,防止数据泄漏。

而对于攻击,需要做好相应的防护机制,如流量清晰、流量识别、使用高防IP等等,来保证服务的稳定。防攻击是一个预成本,不管攻击有没有来,都要先付出防护成本。

1)身份认证

为保证请求安全、不被恶意调用,且安全性较高的API需要增加设置,保证请求不在网络传输中被篡改,具有一定的时效性,且不允许重复使用。

这需要每个请求都附带上身份信息,API身份认证包含很多种,有HTTP Basic、API KEY/APP KEY、Oauth、openConnectid、JWK等方式。

2)权限控制

为保证数据的安全,需要有完整的体系,实现对API访问权限管理和数据权限。

3)请求加密

重要的API使用加密传输,比较流行的做法是使用https,但使用https会有一定的性能损耗,必要时可以区分对待。

4)流量控制

即在开放API时,根据服务能力、业务场景,对API增加API、用户等多维度请求频率控制,以保证服务的可用性,避免恶意调用。


  • API流量控制:根据端服务能力和业务的重要程度进行业务分层,对不同的API进行差异化的流量控制。以保证重要业务的延续性。
  • 用户流量控制:在API上的用户分层,防止用户间相互挤占资源。

3. 运行情况监控

要提供一个稳定的API服务,才能有人敢用, 所以API服务的稳定非常重要。但实际情况是,我们总被各式各样的问题扩扰。为了不断改进用户体验,需要监控API的运行情况。

1)监控

监控提供信息,可以直接观察到API的运行情况和用户的使用习惯,为API的运维和运营提供依据。

2)调用量

掌握并分析API的调用量,可以了解客户的偏好(哪些API用户习惯使用,哪些不是),了解服务的负载情况,从而合理的安排资源;也能了解到我们的API设计是否合理,如用户进行一次业务操作需要多次调用同一API。

A. 错误率

错误率是API评价的重要指标,造成错误率高可能的原因有:

a. 后端服务不达标,经常报错;

b. API设计过于复杂,用户不理解;

错误率是系统健康状况的重要衡量指标,针对不同的错误,需要不同测应对策略。

B. 错误分布

一个好的监控可以看到错误的详细信息,可以了解到,错误原因,如:

a. 某个入参错误率高,需要调整API设计,优化复杂入参,避免理解偏差;

b. 很多用户调用超出了流量控制的限制,需要扩充服务能力,并调整流控;

c. 服务超时严重, 需要检查代码是否高效,是否需要适当增加后端服务能力。

B. 报警

针对重要指标进行报警通知,如:突增的流量、飙升的错误率、服务响应缓慢等,需要立即处理,以免造成故障。

c. 原则

a. 只有关键指标才设置报警,不是越全越好

b. 仔细分析报警阈值,不是越低越好

c. 报警标题及内容要言简意赅,不是越详细越好

d. 报警短信和邮件结合使用

 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值