我们一直在使用Datastax Python驱动程序来连接到Cassandra。不幸的是,尽管我们使用较新版本的Cassandra(侦听端口9160和9042)进行了测试,但是我们的部署实例要旧得多,仅侦听9160。当前版本的驱动程序(我们正在使用)使用CQL协议-监听9042的守护程序。
有没有一种方法可以用于Datastax驱动程序以使用Thrift协议进行通信?降级到较早版本(假设较旧的Datastax驱动程序使用Thrift协议)是一个好主意吗?
任何帮助表示赞赏,谢谢!
datastax驱动程序在设计上仅支持CQL本机协议接口,因为节俭已被弃用。您可以通过节俭来进行CQL,但我不建议您这样做,因为您将获得两全其美的性能。优化本机传输(9042)以在单个连接上具有许多正在进行的请求,而节俭(9160)是每个连接的请求。与节俭数据模型相比,CQL的开销要小得多,直到存储模型更改为C * 3.0为止,但使用本机传输可以弥补这一缺点并得到更多补偿。
我建议您考虑在已部署的群集上打开本机协议接口(如果是C * 1.2+,则应该可行),或者如果不支持CQL 3,则进行升级。我建议您不要使用节俭的方式开发新的解决方案因为cassandra正在远离它。如果您坚持节俭,我建议您看看pycassa。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句