首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Redis Streams vs Kafka Streams/NATS

Redis Streams vs Kafka Streams/NATS
EN

Stack Overflow用户
提问于 2018-10-25 17:48:59
回答 1查看 11.1K关注 0票数 21

Redis团队为Redis5.0引入了新的数据类型。由于流看起来像卡夫卡主题,从第一视图,似乎很难找到现实世界的例子使用它。

流介绍中,我们与卡夫卡流进行了比较:

  1. 运行时使用者组处理。例如,如果三个使用者中的一个永久失败,Redis将继续提供第一个和第二个服务,因为现在我们只有两个逻辑分区(使用者)。
  2. 红潮要快得多。他们是从内存中存储和操作的,所以这个也是这样的。

我们有一些与卡夫卡,RabbitMq和NATS的项目。现在我们深入研究Redis流,尝试使用它作为“前kafka缓存”,并在某些情况下作为Kafka/NATS的替代。现在最关键的一点是复制:

  1. 使用AOF复制将所有数据存储在内存中。
  2. 默认情况下,异步复制不能保证复制XADD命令或使用者组状态更改:在故障转移之后,可能会丢失一些内容,这取决于跟随者从主服务器接收数据的能力。这一个看起来像点,以杀死任何兴趣尝试流在高负荷。
  3. Sentinel或Redis群集操作的Redis故障转移过程只执行最佳的故障转移到更新最多的追随者的检查,而且在某些特定故障下,可能会促进缺乏某些数据的追随者。

以及上限策略。Redis流真正的“上限资源”是内存,所以您要存储多少项或使用哪种上限策略并不重要。因此,每次你的消费者失败,你会得到峰值内存消耗或信息丢失的上限。

我们使用Kafka作为RTB投标人的前端,它以120字节的有效负载每秒处理大约1,100,000条消息。使用Redis,我们在写上有~170 mb/秒的内存消耗,使用512 gb的RAM服务器,我们为大约50分钟的数据编写了“预留”。因此,如果此时处理系统处于脱机状态,我们就会崩溃。

你能告诉更多关于Redis流在现实世界中的使用情况吗?或者可能是Redis流可以与不大量的数据一起使用?

EN

回答 1

Stack Overflow用户

发布于 2018-10-25 21:52:05

好久不见。这感觉就像一个属于redis-db邮件列表的讨论,但是用例听起来很吸引人。

请注意,Redis流并不打算成为Kafka的替代品--尽管有相似之处,但它们提供了不同的属性和功能。当然,关于复制的异步性质,您是正确的。至于缩放可用RAM的数量,您应该考虑使用一个集群,并在基于周期的密钥名称中对您的流进行分区。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52995303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档