如何处理服务端 RESTful API 调用超出频率限制?

更新时间不可用

当一个服务端 RESTful API 调用超出频率限制时,会返回状态码 429,表示请求过于频繁。

你可以结合业务实际并发需求,参考以下建议,优化 API 调用频率:

  • 将 API 请求均匀地分布到各时间窗口。 例如,要调用 https://api.agora.io/dev/v1/channel/user/{appid}/{channelName} 查询 100 个在线频道的用户列表,该 API 默认的调用频率上限为每秒 20 次。为避免超出调用上限,你可以将单个频道的查询间隔设置为 5 秒,每秒查询 20 个频道的用户列表。

  • 不要在你的客户端直接调用声网的服务端 RESTful API,而要在你的应用服务器上调用声网的服务端 RESTful API。 例如,使用查询在线频道信息 API 时,可以由你的应用服务器定期向声网发送请求并缓存返回结果,当有客户端需要查询频道信息时,由你的服务器向客户端下发本地缓存的最新数据。

注意

声网的服务端 RESTful API 调用频率有上限,且无法保障高度实时性。在业务并发量很大的情况下,你可以申请开通声网消息服务通知并配置业务服务器接收实时通信事件。