Yugobyte 的 Akka 持久性支持

问题描述

我打算测试将 Yugobyte DB (https://www.yugabyte.com/) 用于 Akka 持久层的可行性。

来自https://doc.akka.io/docs/akka/2.4/java/persistence.html

Plugin TCK 为了帮助开发者构建正确和高质量的 存储插件,我们提供了一个技术兼容工具包(TCK for 简短)。

TCK 可用于 Java 和 Scala 项目。对于 Java 你 需要包含 akka-persistence-tck 依赖项:

最新版本的 Akka 文档:https://doc.akka.io/docs/akka/2.6.15/persistence.html?language=java 没有提到 Technology Compatibility Kit。不再支持 Technology Compatibility Kit 吗?我的目标是使用 Akka 2.6.15 版

https://mvnrepository.com/artifact/com.typesafe.akka/akka-persistence-tck 开始,最新的 tck 版本日期为 Jun,2021,因此仍然支持 tck。

如果 Akka 持久化支持 Yugobyte,那么 Technology Compatibility Kit 是否应该有一个 Yugobyte

此处记录了 Cassandra 对 Akka 的支持https://doc.akka.io/docs/akka-persistence-cassandra/current/ 而 Akka 文档中未提及 Yugobyte。如何确定 Akka 是否支持 Yugobyte ?我应该使用 Technology Compatibility Kit 执行一系列测试吗?

yugobyte 团队/供应商是否应该实施 tck (https://en.wikipedia.org/wiki/Technology_Compatibility_Kit) 以启用对 Yugobyte 的 Akka Persistence 支持

解决方法

TCK 本质上只是一个在开发 Akka Persistence 插件时使用的测试套件。如果您的插件通过了测试,那么几乎可以肯定可以使用 Akka Persistence。

要使用 Akka Persistence 的 Yugabyte(假设它不支持 JDBC),您需要实现一个 Akka Persistence 插件,并为您的插件针对的 Akka 版本声明对 akka-persistence-tck 的测试依赖。然后您可以扩展测试套件中的类(例如 akka.persistence.journal.JournalSpec)以合并 TCK 的测试。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...