Redis团队为Redis5.0引入了新的流数据类型。由于流看起来像卡夫卡主题,从第一视图,似乎很难找到现实世界的例子使用它。
在流介绍中,我们与卡夫卡流进行了比较:
我们有一些与卡夫卡,RabbitMq和NATS的项目。现在我们深入研究Redis流,尝试使用它作为“前kafka缓存”,并在某些情况下作为Kafka/NATS的替代。现在最关键的一点是复制:
以及上限策略。Redis流真正的“上限资源”是内存,所以您要存储多少项或使用哪种上限策略并不重要。因此,每次你的消费者失败,你会得到峰值内存消耗或信息丢失的上限。
我们使用Kafka作为RTB投标人的前端,它以120字节的有效负载每秒处理大约1,100,000条消息。使用Redis,我们在写上有~170 mb/秒的内存消耗,使用512 gb的RAM服务器,我们为大约50分钟的数据编写了“预留”。因此,如果此时处理系统处于脱机状态,我们就会崩溃。
你能告诉更多关于Redis流在现实世界中的使用情况吗?或者可能是Redis流可以与不大量的数据一起使用?
发布于 2018-10-25 21:52:05
好久不见。这感觉就像一个属于redis-db邮件列表的讨论,但是用例听起来很吸引人。
请注意,Redis流并不打算成为Kafka的替代品--尽管有相似之处,但它们提供了不同的属性和功能。当然,关于复制的异步性质,您是正确的。至于缩放可用RAM的数量,您应该考虑使用一个集群,并在基于周期的密钥名称中对您的流进行分区。
https://stackoverflow.com/questions/52995303
复制相似问题