# alibaba/canal

阿里巴巴 MySQL binlog 增量订阅&消费组件

Repository: https://github.com/alibaba/canal
Canonical: https://ross.abutalabs.com/products/canal
Language: Java
License: Apache-2.0
License Family: permissive
Last push: 2026-07-30T07:40:52+00:00

## Health v2 (maintenance only)
Score: 66/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 95, release rhythm 8, longevity 100
- inputs: {"age_days": 4980, "days_push": 34, "days_rel": 594, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 29725, forks 7627 (observed 2026-08-28T04:11:53.652550+00:00)

## What it is
Canal is an Alibaba open-source component that parses MySQL binlog to provide incremental data subscription and consumption. It masquerades as a MySQL slave to receive binlog events and can deliver them to clients or message queues like Kafka and RocketMQ.

## Use cases
- stream mysql binlog changes to kafka
- keep a search index in sync with a mysql database
- build a real-time database mirror or backup
- refresh application caches on data changes
- capture database changes for event-driven processing

## When to choose
- you need change data capture from MySQL without triggers
- you want to fan out database changes to Kafka/RocketMQ consumers
- you need real-time cache invalidation or index maintenance from MySQL

## When to avoid
- your source database is not MySQL or a MySQL-compatible RDS
- you need full initial data sync rather than incremental changes
- you want a managed CDC service rather than self-hosted infrastructure

## Facets
- artifact type: service
- maturity: stable
- function: message-queue, streaming, etl, database, monitoring
- domain: databases, big-data, self-hosted
- platform: jvm, self-hosted
- tags: mysql-binlog, cdc, change-data-capture, data-sync, kafka, rocketmq, incremental-subscription, data-engineering, real-time, docker, linux

## Member repositories
- alibaba/canal (main) score 66

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:53.652550+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:52:53.684109+00:00, confidence not recorded.
  - readme: https://github.com/alibaba/canal (fetched 2026-08-28T04:11:53.652550+00:00, sha a6bda2ddaba2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
