我正在考虑构建一个使用 Cassandra 作为其数据存储但具有低延迟要求的应用程序。我EmbeddedCassandraService
从这篇博文中知道
以下实现是否可行?已知的缺陷是什么(缺陷、功能限制)?
1) 将 Cassandra 作为嵌入式服务运行,将数据持久保存到磁盘(持久)。
2) Java 应用程序通过以下方式之一与本地嵌入式服务交互。有哪些优点
TMemoryBuffer
(或更合适的东西?)StorageProxy
(使用这个 API 有什么陷阱?)- 阿帕奇阿弗罗?(见下面的问题#5)
3) Java 应用程序通过 Thrift(或 Avro?)与远程 Cassandra 服务(“备份”节点)交互。
4) 写入必须始终成功到本地嵌入式 Cassandra 服务才能成功,并且至少有一个远程(非嵌入式)Cassandra 节点。这可能吗?是否可以定义自定义/复杂的一致性级别?
5)附带问题:Cassandra:权威指南在几个地方提到 Thrift 最终将被 Avro 取代,但似乎情况还不是这样?
正如您可能猜到的那样,我是 Cassandra 的新手,因此对特定文档页面(不是 wiki 主页)或示例项目的任何指导表示赞赏。