// the find
brokercap/Bifrost
Bifrost ---- 面向生产环境的 MySQL,MariaDB,kafka 同步到Redis,MongoDB,ClickHouse,StarRocks,Doris,Kafka等服务的异构中间件
Bifrost is a MySQL/MariaDB binlog-based CDC middleware that syncs data in real-time to heterogeneous targets: Redis, Kafka, ClickHouse, MongoDB, StarRocks, Doris, and more. It positions itself as production-ready, ships with a web UI for configuration, and handles both full and incremental sync. The target audience is teams running MySQL who need to fan out data without writing custom ETL.
The plugin architecture is genuinely well thought out — each destination is a self-contained plugin with its own web UI fragment, making it practical to add new targets without touching core code. The single-binlog-thread, multi-target parallel dispatch model is the right design: you parse once and fan out, avoiding the N×binlog-connections problem you'd get with N separate Debezium connectors. DDL sync support for MySQL, ClickHouse, RabbitMQ, and Kafka targets is a real differentiator — most CDC tools leave DDL as your problem. The Mock input driver for plugin development without a real MySQL instance is a small but thoughtful inclusion.
The project is almost entirely Chinese-language documentation, which is a hard barrier for international adoption — the English README is a stub. There's no distributed mode or HA story: the single Bifrost process is a single point of failure with no mention of clustering, failover, or state replication beyond Redis-backed metadata. The web UI is built on Bootstrap 2-era jQuery with minified vendored JS committed directly to the repo, which will be a maintenance headache. The Elasticsearch plugin still depends on the v7 client (olivere/elastic), meaning anyone on ES 8+ is blocked without a fork.