Сценарий аварийного переключения при сбое подписчика Cloud Pub / подписчика - PullRequest
0 голосов
/ 06 ноября 2018

Все мы знаем, что подписчики Pub / Sub, находящиеся на одной подписке, будут делиться сообщениями среди них. Я имею в виду, если два сообщения находятся в очереди (M1 и M2) и два подписчика S1 и S2 находятся на одной и той же подписке, прослушивая эту очередь, S1 заботится о M1, а S2 заботится о M2. Что, если, скажем, процесс подписчика S2 завершится с ошибкой при обработке M2? Как Cloud Pub / Sub обрабатывает этот вид аварийного переключения?

1 Ответ

0 голосов
/ 06 ноября 2018

Если подписчик аварийно завершает работу до подтверждения сообщения, то сообщение будет доставлено абоненту снова после истечения крайнего срока подтверждения (и при условии, что сообщение не было подтверждено в течение максимального периода хранения, который по умолчанию равен семи дням) , В вашем сценарии, если S2 никогда не возвращается, то сообщение будет доставлено на S1. Если S2 возвращается, то сообщение может быть доставлено либо на S1, либо на S2. После того, как подтверждение было успешно обработано (обратите внимание, что подтверждение является наилучшим действием и, следовательно, возможна повторная доставка), сообщение больше не будет доставляться подписчикам. Раздел По крайней мере один раз в документации объясняется немного подробнее.

...