Заказать Google Cloud Pub / Sub messages - пример программы Java - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь написать простую потребительскую Java-программу, которая использует сообщения из Google Cloud Pub / Sub и выполняет дедупликацию и упорядочение сообщений.

Мне не удалось найти простой пример программы, котораяэто.Я прочитал документацию Google, и они рекомендуют пользователю использовать Apache Beam.Однако я не знаком с Apache Beam и хочу иметь базовый пример программы, демонстрирующий эту возможность.Что-то, что просто получает компаратор и знает, как удалить дублирующиеся сообщения и передать сообщения, упорядоченные по атрибуту.

Может кто-нибудь дать такой пример java-программы?

1 Ответ

1 голос
/ 23 сентября 2019

Если ничего не существует, это потому, что это "на самом деле" невозможно.

Во-первых, полезно спросить «Когда Pubsub генерирует двойные значения?» .Только когда сообщение доставлено и подтверждение не получено (или не отправлено в ожидаемый период времени, по умолчанию 10 с), или в режиме push не получен HTTP 200.

2nd: Что такое Beam?Луч - это трубопроводный двигатель.Вы можете подключить к нему свой PubSub, и ваш конвейер будет читать сообщения и дедуплицировать их.Будьте осторожны, эта дедупликация выполняется Beam в течение 10–20 минут.

3-й: Что означает «заказано»?Посмотрите на идентификатор вашего сообщения.Значение представляет собой метку времени в микросекундах (поэтому PubSub может принимать до 1M сообщений в секунду).Заказанное сообщение означает наличие сообщения для последовательного идентификатора, иначе поместите в буфер и дождитесь заполнения пробелов.Конечно, пробелы никогда не будут заполнены ...

Вернитесь к Лучу.Луч имеет возможность определять окна наблюдения .Кстати, вы можете определить, например, скользящие окна по 5 минут, каждое из которых запускается каждую минуту.Когда окно закрывается, запускается PCollection сообщений, и он обрабатывается в вашем конвейере.На этой конечной коллекции вы можете заказать ваше сообщение.

По тому же принципу вы можете вручную удалить депубликации в этой коллекции.

Последняя информация, PubSub - это основа службы Google.Он развивается медленно, потому что это важно.Но, возможно, ваше требование будет выпущено через день!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...