Microserviço referente ao backend do Catálogo de Vídeos
Utilizando Clean Architecture, TDD e as boas práticas atuais de mercado
- JDK 17
- IDE de sua preferência
- Docker
Creating the debezium mysql user:
CREATE USER IF NOT EXISTS 'debezium'@'%' IDENTIFIED WITH mysql_native_password BY 'debezium';
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debezium'@'%';
FLUSH PRIVILEGES;Creating the kafka connect connector for the Debezium:
curl --location --request PUT 'http://localhost:8083/connectors/admin-mysql-cdc/config' \
--header 'Content-Type: application/json' \
--data '{
"topic.creation.default.replication.factor": 1,
"topic.creation.default.partitions": 1,
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"tasks.max": "1",
"key.converter": "org.apache.kafka.connect.json.JsonConverter",
"key.converter.schemas.enable": "true",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "true",
"database.hostname": "mysql",
"database.port": "3306",
"database.user": "debezium",
"database.password": "debezium",
"database.server.id": "10000",
"database.server.name": "adm_videos_mysql",
"database.allowPublicKeyRetrieval": "true",
"database.include.list": "adm_videos",
"table.include.list": "adm_videos.categories,adm_videos.cast_members,adm_videos.genres,adm_videos.videos",
"database.history.kafka.bootstrap.servers": "kafka:9092",
"database.history.kafka.topic": "adm_videos.dbhistory",
"include.schema.changes": "false",
"schema.enable": "false",
"topic.creation.adm_videos.include": "adm_videos_mysql\\.adm_videos\\.*",
"topic.creation.adm_videos.partitions": 1
}'