我们都知道,处于同一订阅的发布/订阅订阅者将在其中共享消息。我的意思是,如果两个消息在队列中(M1和M2)并且两个订户S1和S2在同一个订阅中侦听该队列,则S1照顾M1,S2照顾M2。 假设S2用户进程在处理M2时崩溃了怎么办? Cloud Pub / Sub如何处理这种故障转移?
答案 0 :(得分:0)
如果订户在确认消息之前崩溃,则在确认截止时间过去之后(并假设在最长保留时间(默认为7天)中未确认消息)后,消息将再次传递给订户。 。在您的情况下,如果S2再也不会回来,则该邮件将传递到S1。如果确实恢复了S2,则可以将邮件传递到S1或S2。一旦成功处理了确认(请注意,ack是尽力而为,因此可能会重复发送),则消息将不再传递给订户。文档的At-Least-Once Delivery section进行了更详细的说明。