如何从Cassandra DB创建流?

时间:2018-05-13 18:05:30

标签: websocket cassandra real-time

我一直试图创建类似聊天应用或通知系统的东西,任何可以"流"来自卡桑德拉。

我想做一些像(想要伪代码)的东西:

function newMessage() {
  addToCassandra(fromUser, room, message, time)
  sendToClient(fromUser, room, message, time)
}

但是有卡夫卡,风暴等,我不确定最有效的方法是什么。

我有一个静态服务器来提供vuejs应用程序和一个API服务器,它使用graphql(以及3个cassandra服务器)为所有ajax / websocket请求提供服务。

新用户可以从cassandra db中获取历史记录并连接到websocket以获取新的通知/消息。

实现reasltime或近实时通知和聊天的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

不幸的是,从cassandra获取流式更新的唯一方法是通过您的应用程序进行轮询。这使得项目排序和重复数据删除增加了很多复杂性(它在journal plugin for akka-persistence中实现,您可以检查代码量)。我建议使用一些带有通知支持的数据库(foundationrethink),尽管它们有自己的陷阱。