Akka,事件溯源和分布式数据库迁移


VirtusLab 的基于事件溯源的 Akka 应用程序的底层数据库迁移案例研究。

这篇文章介绍了一项针对大型工业事件溯源项目的研究,其中涉及了对Akka和数据库选择的讨论。

作者对Akka Persistence插件的数据库模式进行了性能测试,以验证在不同数据库上的最大写入吞吐量。研究结果表明:

  • AlloyDB对于大量写入操作表现出很高的性能,并且推荐使用Akka Persistence的r2dbc模式。
  • CockroachDB在垂直扩展后仍未能突破每秒2000次写入的性能瓶颈。

文章最终建议客户从CockroachDB迁移到AlloyDB以获得更好的性能和可靠性。

摘要:

  • 我们通过自定义工具进行了负载测试,以验证AlloyDB和CockroachDB在不同硬件配置下对Akka Persistence插件的数据库模式的写入吞吐量和延迟的影响。
  • 结果表明AlloyDB在各种硬件配置下都表现出强大的写入吞吐量,而CockroachDB则在垂直扩展后仍无法突破每秒2000次的写入阈值。
  • 针对Akka Persistence插件的不同数据库模式,我们推荐AlloyDB作为适合Akka事件溯源应用的可靠选择,并建议客户从CockroachDB迁移至AlloyDB以获得更低的延迟和更高的吞吐量。

资料:

  • AlloyDB 是谷歌一项与 PostgreSQL 兼容的全代管式数据库服务,具有出色的性能、可用性和扩缩能力。它会自动执行备份、复制、修补和容量管理等管理任务,并使用自适应算法和机器学习技术进行 PostgreSQL 真空管理、存储和内存管理、数据分层和分析加速,以便您可以专注于构建应用。
  • CockroachDB 是一个自托管的云原生分布式 SQL 数据库,旨在构建、扩展和管理现代数据密集型应用程序。是一个基于事务性和强一致性键值存储构建的分布式 SQL 数据库。它水平缩放; 能够在磁盘、机器、机架甚至数据中心发生故障时以最小的延迟中断且无需人工干预;支持 强一致性ACID事务;并提供熟悉的 SQL API 用于构建、操作和查询数据。