426 字
2 分钟
Golden Flash 金色闪光

Golden Flash 金色闪光#

金色闪光来自火影中四代火影波风水门的外号,速度的代表,适合顺势高并发的场景。

前言#

针对任何电商平台等高并发场景,比如限量销售限时销售降价销售抢优惠券抽奖等。

本质上是一个和业务相关的限流工具。

数据一致性要求并不高 且 可以容忍数据丢失

架构#

交互设计#

API#

  1. 获取活动信息接口 GET {version}/activity/info

请求参数:

字段类型是否必传描述
act_idnumberY活动ID,本次秒抢活动的ID

响应内容:

{
"code": "200",
"msg": "OK",
"result": {
"server_time": "int, 服务器时间,时间戳",
"lists": [
{
"object_id": "number, 事物ID,被抢物品的ID",
"object_name": "number, 事物ID,被抢物品的名称",
"object_pic": [
"string, 被抢物品的图片",
"string, 被抢物品的图片",
],
"start_time": "int, 开始时间,时间戳",
"end_time": "int, 结束时间,时间戳",
"process": "int, 进度百分比 0~100,令牌剩余数量/令牌总数",
}
]
}
}
  1. 加入排队接口 POST {version}/queue/add

请求参数:

字段类型是否必传描述
act_idnumberY活动ID,本次秒抢活动的ID
object_idnumberY事物ID,被抢物品的ID
user_idnumberY用户ID

响应内容:

{
"code": "200",
"msg": "OK",
"result": {
"interval_time": "number, 查询排队结果的轮询时间",
"voucher": "string, 排队成功的凭证,用于获取排队结果"
}
}
  1. 查询排队结果的接口 GET {version}/queue/result

请求参数:

字段类型是否必传描述
vouchernumberY活动ID,本次秒抢活动的ID
user_idnumberY用户ID

响应内容:

{
"code": "200",
"msg": "OK",
"result": {
"token": "string, 令牌,用户可以拿去此令牌去进行后续流程,比如添加抢购商品到购物车、抽奖"
}
}

相关阅读