在发送方/接收方崩溃后,zeromq能保证交付吗?

时间:2014-01-19 10:41:52

标签: zeromq mq

使用zeromq,发件人发送10封邮件后,发件人崩溃。

方案1: 接收者正在逐个处理消息,但是时间成本会有一些明显的,在这种情况下,它仍会得到10条消息吗?

方案2: 另一种情况是当接收器崩溃后,接收器恢复后,它能否继续接收它在停电期间错过的内容?

方案3: 如果接收器与队列中的未决消息崩溃,另一个接收器开始侦听队列,是否可以获得队列中剩余的消息?

1 个答案:

答案 0 :(得分:2)

  

方案1:接收方正在逐个处理消息   一些明显的时间成本,它仍将获得10条消息   方案

如果发件人收到了所有消息,那么他们将坐在接收队列中。假设您已经为接收器设置了足够高的高水印选项,那么它应该全部处理它们。

  

方案2:另一种情况是接收器在接收器之后崩溃   已经恢复,它能否继续接收它错过的内容   停电?

假设发件人也没有崩溃:发件人仍然会在该外接队列中为该接收者排队。只要排队的消息数量不超过发送方设置的高水位选项,接收方就会在重新连接时收到其他未决消息。

  

方案3:如果接收方崩溃了中的待处理消息   队列,另一个接收器开始侦听队列,它可以得到   什么留在队列中?

ZeroMQ为每个对等体保留一个队列。这样队列就会丢失。这假设您使用的是简单的点对点方法。如果你使用的是PUBLISHER-> SUBSCRIBER,那么多个接收者可以共享同一个队列。