Как выполнить CDC для кластера mysql percona и создать разделы для всех баз данных

#elasticsearch #apache-kafka #debezium #maxwell

Вопрос:

Я искал решение для сбора всех изменений базы данных(создание,удаление,обновление) из 3-х узлов кластера mysql percona и отправки обновлений в инструмент визуализации, такой как Kibana, для поиска событий. Многие предлагали журнал бин mysql—> Debezium/maxwell—>>Apache кафка—>>> Ekasticsearch(кибана). У меня есть следующие вопросы по этой настройке,

  1. Правильно ли я выбрал решение
  2. С 100 базами данных и каждой базой данных со 100 таблицами, как я могу фиксировать изменения для всех ? Я вижу, что тема может быть создана только для конкретной таблицы и конкретной базы данных с debezium.
  3. С помощью maxwell я мог бы вывести все изменения, однако не смог бы возобновить работу с того места , где мы остановились, в случае остановки и запуска maxwell/ db.

Любая помощь будет признательна.

Комментарии:

1. Это будет работать нормально. Какие конкретные проблемы у вас возникают?

2. Как получить потребителя для всех таблиц и всех баз данных? Тема Apache на данный момент предназначена для таблицы. База данных.

3. По умолчанию, если у вас этого нет database.include.list , Debezium будет считывать все базы данных в отдельные разделы, что рекомендуется, поскольку таблицы часто имеют разные схемы, и размещение разных схем в одной и той же теме приведет к путанице для потребителей. На потребителях вы можете подписаться на списки тем или шаблонов регулярных выражений, а не на отдельные названия тем

4. Чтобы использовать kibana в качестве потребителя, нужно ли мне писать потребителя или есть готовые ?

5. Кибана-это всего лишь пользовательский интерфейс, а не потребитель Кафки, поэтому я не понимаю вопроса. Вы можете использовать Logstash или Kafka Connect для записи данных в Elasticsearch , а не для написания собственного потребителя