Google Cloud Platform - Порядок сообщений в консоли v. Журналы - PullRequest
0 голосов
/ 17 октября 2019

Я использую облачную функцию Google Cloud Platform. Я запускаю его через Pub / Sub. В журналах функций сообщения появляются в том порядке, в котором они были запущены (самые новые сверху). Но если я создаю подписку на опубликованную тему и просматриваю ее в консоли следующим образом:

облачные бета-подписки pubsub pull pull test_sub --limit 1000 --auto-ack

сообщения появляются в случайном порядке.

Есть идеи почему?

1 Ответ

3 голосов
/ 17 октября 2019

Google Cloud Pub / Sub не гарантирует порядок сообщений. Там нет попытки заказать сообщения вообще. Это может нарушить или усложнить разбиение и кластеризацию ресурсов.

Цитируя Google Cloud:

Даже в этом простом случае гарантированное упорядочение сообщений наложит серьезные ограничения на пропускную способность.

В лучшем случае ваше программное обеспечение не должно принимать и не полагаться на какой-либо конкретный порядок сообщений. Сообщения должны быть атомарными единицами, которые не зависят от других сообщений ни до, ни после. Если это относится к вашим проектам, то вам нужно будет реализовать временные окна и обрабатывать сообщения независимо от доставки / извлечения.

Для получения более конкретной информации о порядке публикации сообщений Pub / Sub:

Сообщения Pub / Sub Ordering

...