1

嗨,我使用 datastax 驱动程序创建了自己的 Cassandra 连接器。但是我面临一些内存泄漏问题,所以我开始考虑另一种解决方案,例如具有 Cassandra 连接器的 Alpakka de lightbend。

但是在检查了糟糕的文档之后,我改变了主意,因为它只是将连接器与 CQLSH 查询一起使用,在我的情况下,我管理 DTO 对象。

任何人都知道任何文档,我可以在其中查看 Alpakka cassandra 是否以一致性级别管理 DTO 的保存?

此代码来自我当前的连接器。我想实现类似的东西。

private void updateCreateEntry(DTO originalDto, Mapper cassandraMapper) {
    ConsistencyLevel consistencyLevel = ((DTOCassandra) originalDto).getConsistencyLevel();
    //.- For writing we set the consistency level to quorum
    cassandraMapper.save(originalDto, Option.consistencyLevel(consistencyLevel != null ? consistencyLevel : DEFAULT_CONSISTENCY_LEVEL));
}
4

1 回答 1

1

正如您所注意到的,目前 Alpakka 中的 Cassandra 连接器非常薄。如果您需要更丰富的 DTO 支持,您可以选择像Phantom这样更丰富的客户端。

关于如何使用 Phantom 有很多很好的例子——比如看看这个。创建模型后,Phantom 将为您提供def store[T](t: T): Future[ResultSet]插入数据的功能。

您可以将对这些函数的调用提供给mapAsync(n)组合器,以便在您的 Akka Stream 中使用它们。

于 2017-09-09T14:02:45.133 回答