【问题标题】:Can Tornado communicate with Cassandra, in Non-blocking asynchronous style?Tornado 可以以非阻塞异步方式与 Cassandra 通信吗?
【发布时间】:2023-06-14 14:31:01
【问题描述】:

我正在做一个 web 项目,它必须处理这么多的客户 要求。所以我正在考虑使用 Cassandra 和龙卷风。龙卷风 似乎有一个内置客户端(tornado.httpclient.AsyncHTTPClient), 可以做http非阻塞请求。但是,Cassandra 使用 Thrift 协议。使用 Thrift,Tornado 似乎在向 Cassandra 查询时被阻止。

有人有经验吗?请建议我该怎么做。 或者,是否有任何用于此目的的附加模块?

谢谢。

【问题讨论】:

    标签: asynchronous cassandra thrift tornado nonblocking


    【解决方案1】:

    http://github.com/driftx/Telephus 有一个 Twisted Cassandra 客户端。我想你需要为 Tornado 写类似的东西。 (切换到 Twisted 可能更容易。:)

    【讨论】:

    • Telephus 可能是一个参考代码。 (但我从未使用过 Twisted 框架。学习 Twisted 可能需要一些时间。)谢谢。
    • 如果你想坚持 Tornado 界面,你可以使用 Telephus 和 Cyclone,Tornado 的 Twisted 端口:github.com/fiorix/cyclone
    最近更新 更多