Порядок исходных снимков событий в Дебезиуме - PullRequest
0 голосов
/ 11 октября 2019

В нашем приложении нам нужно публиковать события из определенной таблицы postgresql в Kafka, поэтому мы решили использовать Debezium, но столкнулись со следующей проблемой: во время первоначального снимка сообщения неожиданно (с нашей точки зрения) появляются в Kafkaзаказ. Порядок событий имеет решающее значение для нашего приложения, на самом деле они должны быть упорядочены по целочисленному первичному ключу таблицы. Начальный снимок AFAIK - это просто ВЫБОР со стола без ЗАКАЗА. Так есть ли способ или обходной путь, чтобы соединитель Debezuim postgresql извлекал события в определенном порядке?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 13 октября 2019

Проверьте свойство snapshot.select.statement.overrides в документации для соединителя . Он позволяет вам настраивать оператор SELECT, используемый для конкретных таблиц, поэтому вы можете добавить обязательное предложение ORDER BY.

0 голосов
/ 11 октября 2019

Нет гарантии, что порядок вставок в журнале транзакций находится в том же порядке, что и автоматически сгенерированные первичные ключи. При высоком параллелизме другой порядок будет вполне нормальным.

Если транзакции короткие, ордер не должен быть слишком запутанным.

В любом случае, с этим ничего нельзя поделатьсторона PostgreSQL.

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