是的,它可能发生,你有新的数据在你的“光标”面前的时候,你已经去与处理,如果您使用的一致性水平一个用于读取和写入,但即使你使用更高的一致性,你可能会遇到“问题”取决于你的设置。基本上有很多事情可能会出错。
您可以通过使用旧的卡桑德拉式NUM_NODES_RESPONDING_TO_READ + NUM_NODES_RESPONDING_TO_WRITE > REPLICATION_FACTOR
增加不这样做的机会,但因为使用的是now()
从卡桑德拉节点时钟可能有他们之间的毫秒偏移量,所以你甚至可能会错过的数据,如果你有高频率数据。我知道一些系统,人们实际上使用gps模块的树莓派来保持时钟偏斜非常紧密:)
你将不得不提供更多关于你的用例,但事实上是的,你可以完全跳过一些插入,如果你并不是“谨慎”的,但即使如此,也没有100%的保证,除非您处理数据的数据有足够的偏移量,足以让新数据进入并解决。
基本上你就必须保持在过去的一些移动时间窗口,然后沿再加确保你不考虑什么比让我们说最后一分钟更新的移动。这样你就可以确保数据“稳定”。
我不得不在这里我们处理,将排在与延迟多天感觉数据的一些使用情况。在某些项目中,我们忽略了一些数据用于报告月份的数据,因此我们总是处理旧数据并将其添加到报告数据库。即我们在历史3天前保持了一个时间窗口。
这只是取决于你的使用情况。
感谢您的回答。所以我的假设并不完全错误。我想从卡桑德拉发布的数据卡夫卡的数据推给其他消费者的“实时”的。我不想丢失数据,所以我的方法可能不理想 – KTrum