作者:44要和自己交个朋友 | 来源:互联网 | 2023-05-28 16:00
我们目前正在使用Hazelcast(http://hazelcast.org/)作为分布式内存数据网格.这对我们来说一直很好,但是单独使用内存已经在我们的用例中耗尽了它的路径,我们正在考虑将我们的应用程序移植到NoSQL持久存储中.在通常的比较和评估之后,我们接近挑选Cassandra,最后选择Spark进行分析.
尽管如此,我们的架构需求存在差距,我们仍然没有掌握如何在Cassandra中解决(有或没有Spark):Hazelcast允许我们创建一个连续查询,无论何时添加/删除/修改行该子句的结果集,Hazelcast回调了相应的通知.我们使用它来通过AJAX流与新的/更改的行不断更新客户端.
这可能是我们正在制造的概念上的不匹配,所以 - 如何在Cassandra中最好地解决这个用例(有或没有Spark的帮助)?API中是否存在允许对键/子句更改进行连续查询(尚未找到)的内容?是否有其他方法来获取密钥/子句更新流?某种事件?
我知道我们最终可以定期轮询Cassandra,但在我们的用例中,客户可能会对大量的表子句通知感兴趣(想想"加利福尼亚海岸线上船位的所有变化"),并且迭代出来商店会破坏流媒体的可扩展性.
因此,神奇的问题是:我们缺少什么?Cassandra是错误的工具吗?我们不知道apache领域内外的API或外部库的特定部分是否允许这样做?
非常感谢您的帮助!
雨果