我正在编写一个使用 nginx 提供静态内容和龙卷风提供动态内容的 Web 应用程序。我正在考虑使用 CouchBase 作为我的数据存储,但在找到合适的客户端以与 Tornado 框架一起使用时遇到了麻烦(即异步)。有人知道吗?
我看过 trombi:https ://github.com/inoi/trombi但找不到太多关于它的信息。如果有人对此有任何经验(好的或坏的),我很想听听。
我真的建议坚持使用 Couchbase 发布的 Python 代码。虽然它在技术上不是异步的,但查询速度非常快,以至于它实际上并没有考虑到事情。它不像为数据库构建查询,它可以很容易地锁定一段时间的持续操作。更不用说有很多负载平衡和存储桶管理代码,在大多数情况下你会因为尝试为它找到一些第三方模块而丢失。
此外,您始终可以构建一个多处理包来创建子流程来处理从主要流程流中删除这些调用并将影响减少到几乎没有。
更新
另一种选择是使用 Tornado 的内部回调功能来抵消阻塞过程,这样它就不会影响浏览。此处描述了一种方法:http: //tornadogists.org/2185380/