【问题标题】:Is there a way to subscribe to Redis Streams similar to Redis pub/sub?有没有办法订阅类似于 Redis pub/sub 的 Redis Streams?
【发布时间】:2020-11-22 03:19:51
【问题描述】:

我正在构建一个数据管道,它使用Maxwell Daemon 实时读取 MySQL 二进制日志,Maxwell Daemon 将数据推送到 Redis 流。我已经构建了一个客户端,它使用来自 Redis 流的数据来处理它。目前,我正在使用休眠时间为几毫秒的无限循环轮询 XREAD 以使用流中的数据,但我发现这是一个低效的解决方案。

我正在寻找一种方法,我可以以某种方式订阅 Redis 流,并在向流中添加新条目时收到通知,并遇到 this GitHub 问题,他们谈论将 Redis 发布/订阅与流一起使用来实现这个功能。

有没有更有效的方式来构建这个系统?

【问题讨论】:

    标签: redis architecture system-design redis-streams maxwell


    【解决方案1】:

    是的,使用XREADBLOCK 参数,您将拥有相同的“效率”。

    文档:https://redis.io/commands/xreadhttps://redis.io/topics/streams-intro#listening-for-new-items-with-xread

    【讨论】:

    • 谢谢,伊塔玛哈伯!我会用BLOCK 调查XREAD。只是想知道一件事是否适合在生产中使用?
    • 是的,这就是生产的方式
    • @ItamarHaber,redis 有什么方法可以使用流向消费者(订阅者)推送(而不是拉取)数据?
    • 我不确定我是否在关注这个问题 - Redis 确实将数据推送到建立连接并使用(订阅)数据的客户端。
    猜你喜欢
    • 1970-01-01
    • 2015-09-03
    • 2020-09-26
    • 2023-02-12
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2020-11-18
    • 2011-09-05
    相关资源
    最近更新 更多