中间件与驱动
Debezium
厂商/来源:
Red Hat
核心功能:
“遗留系统的幽灵窃听器”。解决甲方老系统“改不动代码、要不到接口、不能锁表导出”的三无绝境。
| 适用场景 | 监听老旧 MES/ERP 系统的订单新增、边缘数据库向云端的大规模实时同步、构建事件驱动架构 (EDA) |
| 架构支持 | 独立部署版 (Debezium Server) 或 Kafka Connect |
| 核心机制 | 无侵入的日志解析 (Log-based CDC):它根本不去执行 SELECT * FROM table(这会拖慢老系统的性能)。它直接去读取底层数据库的 Binlog (MySQL) 或 Transaction Log (SQL Server/PostgreSQL) 只要老系统里有人点了一下“发货”,数据库日志一产生,Debezium 会在毫秒级把这条改动转换成一段 JSON 消息,推送到 MQTT 或 Redis 中。 |
| 核心价值 | 业务零侵入:甲方的老系统完全不知道 Debezium 的存在。你不需要外包团队去修改 10 年前老系统的 Java 祖传代码! |
| 避坑指南 | [DBA 权限与日志堵塞] 1. 数据库权限门槛:读取底层日志需要非常高的数据库权限 (如 MySQL 的 REPLICATION SLAVE 权限)。甲方的 DBA (数据库管理员) 通常极度反感给你这个权限。对策:这是一场非技术层面的沟通博弈,需要用“不影响业务查询性能”的理由来说服 DBA。 2. 日志空间撑爆:如果你的 Debezium 进程崩溃掉线,而没有及时发现。数据库的 Binlog 为了等你读取,可能无法被自动清理回收。几天后,甲方核心数据库的磁盘会被日志撑爆导致全厂停工!对策:必须配置严密的 Debezium 存活监控告警,并与 DBA 约定好 Binlog 的强制过期策略。 |
| 推荐搭配 | [Kafka / MQTT / Redis 流式后端] [遗留业务系统] |