Python Scylla-Driver:我们如何释放Scylla怪物的表演

2020-08-28 01:03:47

在2019年的Scylla峰会上,我有机会见到了伊斯雷尔·弗鲁克特,我们梦想着为Python Cassandra-Driver添加碎片感知支持,这将被称为Scylla-Driver。

几个月后,当以色列在Scylla-Users#pythonistas Slake频道上向我伸出援手,拿出第一份公关草案时,我是如此兴奋,以至于我跳上了马车来帮忙!

我们在Scylla-Driver上所做的努力得到了回报,并显著提高了我有机会改用的生产应用程序的性能,提高了15%到25%!

在我们达到这些数字甚至将Scylla-Driver发布到PyPI之前,EuroPython2020 RFP是开放的,我提交了一个演讲提案,幸运的是被社区接受了。

因此,我有机会深入研究了Cassandra和Scylla的架构差异,解释了创建Scylla驱动程序背后的基本原理,并给出了Python代码的详细信息,说明了我们是如何实现它的,以及我们在实现它时面临的挑战。查看我的谈话页面以了解。

我还解释说,我在Scylla-dev邮件列表上编写了一个RFC,它将导致Scylla的开发人员实现一种新的连接到碎片的算法,该算法将允许客户端连接到新的侦听端口,以选择他们想要连接到的实际碎片。

这是目前连接到所有分片的主要随机方式的预期重大优化,我很高兴地说,它已经实现,并准备好供所有Scylla驱动程序使用。

PyCon India和其他Python相关会议的组织者最近联系我进行了一次演讲,所以我已经向PyCon India提交了一份报告,我希望在那里我能够展示更好的数字,这要归功于新的算法!

在我的Europython演讲之后,我们还与Pau Freix进行了非常有趣的讨论,讨论了他在完全异步Python驱动程序方面的工作,该驱动程序包装了C++驱动程序,以获得尽可能好的性能。第一个结果绝对是令人惊叹的,所以如果你对此感兴趣,一定要试一试,并为驱动程序做出贡献!