问题描述
我有2个订阅者,即同一主题的SUB1和SUB2。两个订户将从主题中提取完全相同的消息。如何确保订阅者“ SUB2”仅在SUB1完成从主题中提取消息之后才开始提取消息。 ...我的PUB-SUB来自Google云平台...
解决方法
如果消息发布到单个主题并且订阅都在该主题上,则没有真正好的方法来确保将消息先交付给一个订阅者。这也打破了作为pub / sub范式的一部分的去耦,即发布者不必了解订阅者,订阅者也不必彼此了解。
一个不错的选择是有两个主题。 SUB1将订阅第一个主题。作为消息处理的一部分,它将消息发布到第二个主题。 SUB2将订阅第二个主题。因此,您可以保证SUB2仅在SUB1处理完消息后才处理消息。这些类型的管道是Cloud Pub / Sub的一个非常典型的用例,其中管道的每个阶段都负责产生下一个阶段消耗的消息。