【问题标题】:How to create a stream from Cassandra DB?如何从 Cassandra DB 创建流?
【发布时间】:2018-05-13 18:05:29
【问题描述】:

我一直在尝试创建诸如聊天应用程序或通知系统之类的东西,任何可以从 Cassandra “流式传输”的东西。

我想过制作类似(想要的伪代码):

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

但是有 kafka、storm 等,我不确定什么是最有效的方法。

我有一个静态服务器来服务一个 vuejs 应用程序和一个 API 服务器,这些服务器使用 graphql(和 3 个 cassandra 服务器)服务所有 ajax/websocket 请求。

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

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

【问题讨论】:

    标签: websocket cassandra real-time


    【解决方案1】:

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

    【讨论】:

    • 谢谢! RethinkDb 是我喜欢的那个。我被引导认为公司正在使用 cassandra 进行实时处理。生病实施通知和重新思考聊天。感谢您的回答
    猜你喜欢
    • 2015-10-21
    • 2014-04-08
    • 2012-02-22
    • 1970-01-01
    • 2016-06-17
    • 2019-06-08
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    相关资源
    最近更新 更多