Search
Write a publication
Pull to refresh
5
0
Send message

По сути это лог-файлы в сервере MySql, где записываются ивенты (изменение схемы, добавлени/изменение/удаление данных и т.д.) Это логгирование можно "включить" в настойках сервера (по дефолту оно выключенно).
Более детально об этом можно почитать здесь - https://dev.mysql.com/doc/refman/8.0/en/binary-log.html

Звучит как рабочий подход. Тем более скорее всего 2 года назад Debezium был еще "сырым".
Слушал выступление его создателя Gunar Morlin, он говорил что главный use case прежде всего если есть БД с клиентом написаном на легаси (диком легаси, куда и лезть не хочется), - тогда CDC точно для этого.
Ну если такого нет, то наверное можно написать самому, или все-таки прикрутить и наконфижить Debezium (что оказалось тоже не сложно).
С Protobuf не работал, не могу ничего сказать.

Интересно, тоже удалось тоже подключиться к логу Postgres, или просто в сервис, который работал с Postgres добавили кафка продьюсера ?

Embedded Debezium пробовал, работает со Spring Boot довольно неплохо. Но в реализацию его не взяли потому что, у нас было 3 микросервиса которые читали из 3х БД (и складывали в одну БД), и так бы получилось, что нужно аж 3 embedded debezium разворачивать. А если делать stand along server, то в одном debezium сервере можно сразу законфижить 3 разных коннектора, и все рабоатет. Плюс модный Spring Cloud Stream ....
(хочу о нем еще написать).

а как это ты подключился к подключился к кафка через kafka коннект систему, но при этом у тебя в docker compose не установлен сервис kafka connect? "cp-server-connect" ?

В туториале (https://debezium.io/documentation/reference/tutorial.html) нашел такое:Debezium is built on top of Apache Kafka and provides Kafka Connect compatible connectors that monitor specific database management systems. Debezium records the history of data changes in Kafka logs, from where your application consumes them.Т.е. Дебизиум использует под капотом kafka-connect.

И так мы конфижим kafka-connect что бы он подключался к kafka брокеру.

environment:
  BOOTSTRAP_SERVERS: broker:9092
  GROUP_ID: connect-debezium
  CONFIG_STORAGE_TOPIC: docker-connect-debezium-configs
  OFFSET_STORAGE_TOPIC: docker-connect-debezium-offsets
  STATUS_STORAGE_TOPIC: docker-connect-debezium-status
  KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
  VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter

Information

Rating
Does not participate
Registered