Go to file
Juan Ferrer 00b6f8cc6e
gitea/mycdc/pipeline/head This commit looks good Details
Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/mycdc into dev
2025-02-26 18:38:16 +01:00
assets refs #4685 Alpha version 2025-02-24 18:51:10 +01:00
config fix: refs #4409 Columns changed detection fix 2024-05-08 14:18:45 +02:00
lib fix: refs #4409 AMQ messages ACK fixes 2024-05-07 13:04:07 +02:00
queues Merge branch 'master' into 4685-available 2025-02-26 17:07:24 +01:00
.gitignore feat: refs #4409 Code refactor, fixes, auto bind 2024-04-08 15:17:06 +02:00
Jenkinsfile Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/mycdc into dev 2025-02-26 18:38:16 +01:00
LICENSE build: refs #4409 Deployment files added 2024-04-04 11:33:29 +02:00
README.md Merge branch 'master' into 4685-available 2025-02-26 17:07:24 +01:00
consumer.js feat: refs #4409 Global refactor, queue polling improved 2024-04-17 11:40:44 +02:00
docker-compose.yml feat: refs #4409 Global refactor, queue polling improved 2024-04-17 11:40:44 +02:00
index.js Multi-queue alpha, yml config, code clean, refactor 2022-10-24 18:11:25 +02:00
mycdc.js fix: refs #4409 Columns changed detection fix 2024-05-08 14:18:45 +02:00
package-lock.json feat: refs #4409 Global refactor, queue polling improved 2024-04-17 11:40:44 +02:00
package.json refs #4685 Version increased 2025-02-25 13:30:35 +01:00

README.md

MyCDC - MySQL change data capture

Application to run asynchronous operations based on DB changes. It is divided into three services:

  • RabbitMQ: Service that allows the exchange and queuing of messages between applications.
  • Producer: Reads and filters changes from the DB binary log and adds the relevant messages to each RabbitMQ queue.
  • Consumer: Obtains the elements from the queues and performs the necessary operations asynchronously.

Environment setup

Because a bug with MariaDB wich it's fix is pending to be merged into main project branch, a zongji fork must be cloned into project root directory. More info at https://github.com/nevill/zongji/issues/143

git clone https://github.com/juan-ferrer-toribio/zongji.git
cd zongji
git checkout fix-143
npm install

Apply zongji.sql script into DB.

Copy producer.json and consumer.json from config directory to producer.local.json and consumer.local.json and place your local configuration there.

Install dependencies.

npm install

Run application

Start rabbit.

npm run rabbit

Start producer and consumer.

npm start
npm run consumer

Built With