我现在正在做一个小型的研究,以找到一种方法来存储来自各种'消息生产者'(来源)的大量数据(暂时的,直到一些消费者消费这些消息)。数据来自不同的来源,例如HTTP,FTP,SMPP或文件上传,每种类型可能有数十或数百个实例创建消息。由它们产生的消息可能变得如此之大,以至于消息消费者可能会在消费消息方面落后,因为这些过程可能花费很长时间或者不是很短的时间。现在,系统在某些部分使用了RabbitMQ,但是当消耗大量的消息增长时(我正在考虑改进其性能,但这不同),它的性能会下降。作为替代,我正在关注使用磁盘保存消息的Apache Kafka。Cassandra的消息传递
在我阅读互联网上的许多文章时,我阅读了一些关于Apache Cassandra的文章,内容速度非常快,每秒处理一百万个插入和类似的卷读取。我感到惊讶,并试图找到一些线索使用卡桑德拉为我的情况,但没有明确的结果。
假设我有大量的消息生成器,Cassandra(集群)可以如何更快地(整体高吞吐量)处理插入(批量处理),以便生成器不会进行节流?
我相信你们中的一些人可以使用Cassandra来处理这种或类似的用例,分享你的经验。 (如果这还不够,我准备向您提供更多信息)
不错的答案。我认为将gc_grace_seconds值设置为一个相当合适的值(保持性能和gc开销以及由逻辑删除引起的额外存储)可以为您提供帮助,因为Cassandra专为重读/快速插入而设计,读取和删除较少,因此可能不是您的更好选择。卡夫卡是为这种用例设计的。 –