前言
相信我们大家或多或少都有接触过,一些需要收费的接口。虽然说这个收费的标准和模式都不一样,实现的思路自然也是略有区别。
今天来简单说一下按次计费接口的实现思路。
何为按次计费
按次计费,简单来说,就是每次成功的调用都需要收费。
当然,这个也只是最终的结果,在这之前,往往会要求调用方先购买一定的使用次数,才能正常发起调用,也才可以进行计费操作。
举个简单的例子,有一个数据供应商提供了一个天气数据的接口,假设它的价格是1分钱1次。
那么这个时候有个人想买它的这个接口100次,就要先给钱,才能拿到接口的相关信息,然后才能正常调用。
这里还会涉及到一个有效调用和无效调用,只能是有效的接口调用才能真正的扣调用方的次数。
什么样的情况能定义为有效调用,这个就是由供应商那边自己定的了。正常是能在规定的时间内返回有数据的结果。
到这里,背景已经交代清楚了,下面我们就来看看思路。
简单的实现思路
个人认为,思路这边主要就是下面4个要考虑的点:
- 次数怎么样扣减
- 调用日志如何记录
- 如何看到实时余次
- 余次不足的通知
下面依次来看一下。
次数怎么样扣减
这里是借助redis来完成这一操作的。一个是加次数,一个是减次数。
加次数,在用户购买次数的时候就将购买的次数写进r