gpt4 book ai didi

python - 清理面向公众的 API 的最佳实践?

转载 作者:行者123 更新时间:2023-11-29 12:13:50 25 4
gpt4 key购买 nike

作为我们服务的一部分,我们正在构建公开可用的 API,让用户可以在我们的平台上执行简单的任务(主要用于自动化目的)(例如评论、关闭已完成的任务和创建新任务)。

API 基于 HTTPS,需要使用您的登录名和密码调用/login 形式的授权以接收 token (可以在您的个人资料中取消)。如果需要,我们会使用 pyramid、postgresql 和 nginx。

这是我的第一个此类项目,我想知道我应该如何确保它不会耗尽我们所有的传输或处理能力(其中一些 API 函数非常繁重)。我想在一个例子的上下文中考虑它,在这个例子中,有人在他的脚本(使用我们的 API)中犯了小错误,并且它会在同一任务下每秒发布评论(或列出来自该任务的所有评论)。 2 天。

如果我强制通过缓存进行所有读取(例如,在接下来的 10 秒内有效),那么它会命中我们的 memcached 服务器而不是 postgres 基础 - 是否足以卸载这个问题(这样其他用户就不会影响)还是只是愚蠢?

如果我检查某种计时器并等待至少 5 秒再进行另一次写入(两次写入之间间隔 5 秒)- 可以吗,还是我会通过计时器检查杀死我们的服务器?

我想这更像是一个关于清理公共(public) API 的最佳实践的问题,这样它就不会伤害其创建者。你是怎么做到的?

最佳答案

您要找的是rate limiting .如果不了解您的 API 是如何编写的,我无法就如何实现它给您具体建议,但您最好的选择是限制 API 使用者的速率,这样他们就不会对您服务的其他用户产生不利影响。

关于python - 清理面向公众的 API 的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14988762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com