原来的问题
我想从 Twisted 异步应用程序中对数据库运行查询。例如添加新记录、更新某些内容或获取一些数据。
我的提议
我考虑在 django 中制作只有 Twisted 应用程序才能访问的特殊视图,这将对我需要的数据库执行各种操作。
在示例中,urldomain.com/server/getuserdata/{{ user_id }}/
将以某种方便的格式(json)返回有关用户的数据。
GET/POST 请求将在 Twisted 中延迟,因此它不会阻止我的 Twisted 应用程序(如果我错了,请纠正我)。
我的 Twisted 应用程序只会偶尔运行这些请求。它不是实时更新数据。实时数据将存储在 Redis 中,一旦我准备好将其存储在 Django 数据库中,我就会使用存储在 redis 中的数据向 Django 运行请求。
但是每秒仍然可能有很多来自服务器的请求(比如说从 100 到 1000)。
我读到的另一种方法
- 扭曲的nadbapi,但它自 2007 年以来没有更新,所以我不想诚实地使用它
- 将请求存储在 Redis 中并由另一个守护程序/应用程序或 cron 运行它们。
问题
- 对 Django 的 GET/POST 请求使用延迟对象是一种好方法吗?
- 我能以某种方式告诉 Django Twisted 应用程序是受信任的,因此它不会像 DDOS 一样对待它吗?
- 对于这么多请求(当然使用缓存),这是否足够快?
- 这项任务有更好的方法吗?
我是 Twisted 的新手,并且将异步应用程序与同步应用程序集成在一起,所以如果我输入了一些愚蠢的东西,我很抱歉