Redis Streaming
首页
快速开始
  • 核心 API
  • Runtime
  • Config
  • State
  • Checkpoint
  • Watermark
  • Window
  • Source & Sink
  • Reliability
  • Registry
  • MQ
  • 架构设计
  • Exactly-Once
  • MQ 设计
  • Registry 设计
  • 部署指南
  • 性能调优
  • 故障排查
GitHub
首页
快速开始
  • 核心 API
  • Runtime
  • Config
  • State
  • Checkpoint
  • Watermark
  • Window
  • Source & Sink
  • Reliability
  • Registry
  • MQ
  • 架构设计
  • Exactly-Once
  • MQ 设计
  • Registry 设计
  • 部署指南
  • 性能调优
  • 故障排查
GitHub
  • 快速开始

    • 5分钟上手
    • Spring Boot 集成
  • 核心概念

    • 架构概述
    • 核心 API
    • 运行时环境
  • 基础设施模块

    • Config 配置中心
    • Registry 服务注册
    • MQ 消息队列
  • 流处理核心

    • State 状态管理
    • Checkpoint 检查点
    • Watermark 水位线
    • Window 窗口
  • 数据集成

    • Source & Sink
    • CDC 变更捕获
    • Aggregation 聚合
    • Table 表操作
    • Join 流连接
  • 可靠性

    • Reliability 组件
    • Metrics 监控
  • 设计文档

    • Exactly-Once 语义
    • MQ 设计
    • Registry 设计
  • 运维

    • 部署指南
    • 性能调优
    • 故障排查
    • CI/CD
  • 开发

    • 开发指南
    • 测试指南
    • 发布流程

CDC

Module: cdc/

Change Data Capture connectors (MySQL Binlog / PostgreSQL logical replication / DB polling).

Scope

  • 捕获数据库变更并转为 ChangeEvent(供下游 MQ/聚合/存储等模块消费)
  • Connector 生命周期/健康监控由 CDCManager 协调

Key Classes

  • CDCConfiguration / CDCConfigurationBuilder
  • CDCConnector / CDCManager
  • cdc.impl.MySQLBinlogCDCConnector
  • cdc.impl.PostgreSQLLogicalReplicationCDCConnector
  • cdc.impl.DatabasePollingCDCConnector

Minimal Sample (MySQL binlog; simplified)

import io.github.cuihairu.redis.streaming.cdc.CDCConfiguration;
import io.github.cuihairu.redis.streaming.cdc.CDCConfigurationBuilder;
import io.github.cuihairu.redis.streaming.cdc.CDCManager;
import io.github.cuihairu.redis.streaming.cdc.impl.MySQLBinlogCDCConnector;

CDCConfiguration cfg = CDCConfigurationBuilder.forMySQLBinlog("mysql-binlog")
        .username("root")
        .password("secret")
        .mysqlHostname("127.0.0.1")
        .mysqlPort(3306)
        .property("table.includes", java.util.List.of("test_db.orders"))
        .build();

var connector = new MySQLBinlogCDCConnector(cfg);
CDCManager manager = new CDCManager();
manager.addConnector(connector);
manager.start().join();

var events = connector.poll();
// ... handle events ...

References

  • Design.md
Edit this page
最近更新: 2026/1/1 13:26
Contributors: cuihairu
Prev
Source & Sink
Next
Aggregation 聚合