当前位置: 首页 > 知识库问答 >
问题:

集群中的Redis PubSub消息顺序不保证?

姬乐池
2023-03-14

我们使用的是一个Redis集群(V3.2.8),其中有5个主节点,每个主节点连接一个从节点&我们注意到,当为一个特定通道发布到一个特定主节点并为该通道订阅从节点时,有时会以错误的顺序获得pubsub消息。

我在集群中的redis.io和redis-github repo上都找不到任何与pubsub消息顺序相关的语句。

共有1个答案

车胤运
2023-03-14

首先,如果使用PUBLISH,那么它会阻塞,并且只有在消息传递后才返回,所以是的,顺序是保证的。

我看到了两种有问题的情况:流水线和客户端断开连接。

从文档中

 类似资料:
  • 我试图在Apache Artemis集群中实现消息排序。连接到集群的生产者/消费者实现了高可用性。因此,在某个时间点,将有两个相同应用程序的实例连接到主题或队列。到目前为止,我可以发现以下两种方法可用于在Red Hat AMQ/Artemis集群中实现排序: 消息组(根据文档,只有当集群中每个节点有一个使用者时才是可靠的) 独占队列(仅在单个节点上保留消息顺序)。 我完全理解使用集群和期望消息排序

  • 阅读这篇关于主题分区中消息排序的文章:https://blog.softwaremill.com/does-kafka-really-guarantee-the-order-of-messages-3ca849fd19d2 允许在不设置最大值的情况下重试。航班请求。每连接到1可能会更改记录的顺序,因为如果将两个批发送到单个分区,第一个失败并重试,但第二个成功,则第二个批中的记录可能会首先出现。 根

  • 主要内容:面试题剖析,解决方案面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数据 team,就需要同步一个 mysql 库过来,对公司的业务系统的数据做各种复杂的操作。 你在 mysql 里增删改一条数据,对应出来了增删改

  • 面试题 如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -

  • 主要内容:1 start启动服务定时锁定消息队列,1.2 lockAll锁定所有消息队列,2 submitConsumeRequest提交消费请求,3 ConsumeRequest执行消费任务,3.1 tryLockLaterAndReconsume尝试延迟加锁并重新消费,3.2 takeMessages拉取消息,4 processConsumeResult处理消费结果,4.1 commit提交消息,4.2 checkReconsumeTimes检查重试次数,,,基于RocketMQ relea

  • 假设我有一个包含3个应用程序的流——一个源、处理器和接收器。 我需要保留从源收到的消息的顺序。当我收到消息A,B,C,D,我必须将它们作为A,B,C,D.发送到接收器(我不能将它们作为B,A,C,D)发送。 如果每个应用程序只有一个实例,那么一切都将按顺序运行,并且顺序将被保留。 如果我每个应用程序有 10 个实例,则消息 A、B、C、D 可能会在不同的实例中同时处理。我不知道这些消息的顺序是什么

  • RabbitMQ保证在相同的发布通道- 1.)我有一个单一的线程发布消息在一个单一的交换2.(我有其他线程的集合发布消息在不同的交流有时创造新的消费者为不同的交流 使用缓存连接工厂,它具有通道缓存。每次发布时,它都会进入缓存以获取通道。因为其他线程正在发布和使用,所以不能保证同一通道将被我的主线程用于后续发布。即使我有一个缓存,这也是真的。有人回避过这个问题吗? 理想情况下,我希望为publish

  • 好吧,我对servicebus还比较陌生。在一个项目中,我们使用Azure servicebus对消息进行排队。我们的架构大致如下所示: 因此,我们的想法是,在我们的源系统中,发生了各种各样的事情,这导致消息被放在servicebustopics上。现在,我们的责任是将这些事件同步到外部客户机,以便他们知道我们在做什么。 现在的问题是,目前我们不使用servicebus会话,所以消息顺序无法保证。