Можно ли использовать Kafka Connect для зеркалирования таблицы RDBMS в поток Kafka? - PullRequest
0 голосов
/ 23 июня 2019

Я знаю, что можно загружать обновления из базы данных в поток Kafka с помощью Kafka Connect.У меня вопрос: могу ли я создать получателя для записи изменений из того же потока обратно в таблицу без создания бесконечного цикла?

Я предполагаю, что если я создаю получателя, который записывает обновления в таблицу базы данных, этовызовет Connect, чтобы отправить это обновление в поток и т. д. Есть ли способ обойти это, чтобы я мог отразить таблицу базы данных в поток?

Ответы [ 2 ]

2 голосов
/ 23 июня 2019

Вы можете осуществлять потоковую передачу из темы Kafka в базу данных, используя Соединитель JDBC Sink для Kafka Connect.

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

  • Соединитель источника JDBC использует предложение WHERE только для извлечения записей с установленным флагом, указывающим, что они являются исходной записью
  • Настраиваемое преобразование одного сообщения в соединителе источникаотбрасывать записи с установленным флагом, указывающим, что они не являются исходными записями.
  • Потоковое приложение (например, KSQL / Kafka Streams) обрабатывает входящий поток всех изменений базы данных, чтобы отфильтровать только те, у которых установлен флаг, чтобы указать, что ониисходная запись
    • неэффективна, потому что тогда вы все еще транслируете все из базы данных
0 голосов
/ 23 июня 2019

Да.Можно настроить синхронизацию / репликацию.

...