为什么需要监控数据库变化?
当 Flowable 表中的数据发生变化(例如插入新任务、更新状态或删除记录),我们可能需要触发其他操作,比如通知用户、更新仪表盘或启动新流程。Maxwell 可以读取 MySQL 的二进制日志(binlog),将变化事件以 JSON 格式发送到 RabbitMQ 消息队列,供其他系统消费。
准备工作
你需要以下组件:
-
MySQL:运行 Flowable 的数据库,需启用二进制日志(binlog)。
-
RabbitMQ:消息队列,用于接收 Maxwell 发送的事件。
-
Maxwell:读取 MySQL binlog 并发送事件到 RabbitMQ。
-
Flowable:已部署,数据库中有需要监控的表(例如 flowable.ACT_RU_TASK)。
步骤 1:配置 MySQL
确保 MySQL 启用了二进制日志。以下是一个简单的 Docker Compose 配置:
mysql:
image: mysql:8.0
container_name: mysql
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
command:
- "--log_bin=mysql-bin"
- "--server_id=1"
- "--binlog_format=ROW"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: flowable
MYSQL_USER: maxwell
MYSQL_PASSWORD: maxwell_password

1862

被折叠的 条评论
为什么被折叠?



