【问题标题】:Akka persistence support for Yugobyte对 Yugobyte 的 Akka 持久性支持
【发布时间】:2021-07-13 08:26:09
【问题描述】:

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

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

插件 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 KitTechnology Compatibility Kit 不再受支持?我的目标是使用 Akka 版本 2.6.15

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

如果 Akka 持久性支持 Yugobyte,是否应该为 Yugobyte 提供 Technology Compatibility Kit

这里记录了 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 支持?

【问题讨论】:

    标签: cassandra akka akka-persistence yugabyte-db


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。因此,如果 Akka 持久化不支持我感兴趣的 DB,在这种情况下 YugoByte 我需要编写插件。对于 Cassandra,插件已经为 Akka Persistence 编写和实现了?
    • 是的,有一个预先存在的 Cassandra 插件,由 Akka 核心团队积极维护。
    • YugabyteDB YSQL 层与 PostgreSQL 兼容,因此您可以使用 jdbc.postgresql.org 使用 JDBC 连接到它。 YCQL 层与 Cassandra 兼容。虽然它可以与默认的 Akka 插件一起使用,但将 java-cassandra-driver 与 github.com/yugabyte/cassandra-java-driver 交换会更好,因为它更有效,并且分区系统逻辑与 Cassandra 不同。
    • @dorian YB “YCQL 层与 Cassandra 兼容。”你能详细说明这一点吗?这是否意味着 Cassandra 可以接受 YCQL 查询?我的理解是 YCQL 是一种类似于 SQL 的自定义语言,用于与 Yugabyte DB 进行交互。
    • @blue-sky 表示 YCQL = (Y)ugabyte(C)assandra)(Q)uery(L)anguage。 YCQL 基于 Cassandra docs.yugabyte.com/latest/api/ycql。我们的驱动程序是 Cassandra 客户端驱动程序的分支。您可以使用 Cassandra 客户端连接到 YugabyteDB YCQL。但是使用我们的分叉会更好,因为我们更改了分区并添加了额外的功能,例如 JSONB。
    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多