# alibaba/canal

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/alibaba-canal).**

29,614 stars · 7,673 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/alibaba/canal
- awesome-repositories: https://awesome-repositories.com/repository/alibaba-canal.md

## Description

Canal is a database replication middleware that performs change data capture by simulating a database replica. It monitors transaction logs to stream incremental data modifications to downstream systems in real time, acting as an event streaming infrastructure that transforms low-level binary logs into structured, consumable message streams.

The project distinguishes itself through a high-throughput architecture that utilizes concurrent multi-threaded parsing and stateful log position tracking to ensure reliable data delivery. It employs a pluggable sink architecture that decouples data extraction from destination storage, allowing for flexible routing to various message queues or secondary databases. Users can manage data consistency and throughput through configurable message ordering and batching strategies, while dynamic configuration injection enables runtime adjustments to routing rules without requiring service restarts.

The platform includes comprehensive operational tools for monitoring system health and performance, including metrics for transaction latency and network bandwidth. It supports secure network connectivity for data transmission and provides specialized integration for cloud-based environments, including the ability to retrieve archived logs from object storage. The service is designed for containerized deployment, incorporating automated resource management to maintain synchronization pipelines.

## Tags

### Data & Databases

- [Change Data Capture Services](https://awesome-repositories.com/f/data-databases/change-data-capture-services.md) — Monitors database transaction logs to stream incremental data modifications to downstream systems in real time.
- [Change Data Capture Tools](https://awesome-repositories.com/f/data-databases/change-data-capture-tools.md) — Simulates a database replica to stream and decode binary transaction logs into structured events.
- [Database Change Subscriptions](https://awesome-repositories.com/f/data-databases/database-change-subscriptions.md) — Listens for incremental data modifications by parsing binary logs to capture every update. ([source](https://github.com/alibaba/canal/wiki))
- [Database Replication Middleware](https://awesome-repositories.com/f/data-databases/database-replication-middleware.md) — Acts as a replication client to capture and broadcast state changes from primary databases to secondary targets.
- [Database Synchronization Services](https://awesome-repositories.com/f/data-databases/database-synchronization-services.md) — Broadcasts incremental database updates to downstream systems by parsing binary logs and streaming data changes. ([source](https://github.com/alibaba/canal/wiki/Introduction))
- [Distributed Data Synchronization Systems](https://awesome-repositories.com/f/data-databases/distributed-data-synchronization-systems.md) — Maintains consistent data copies across multiple environments by reliably replicating records.
- [Event Streaming Infrastructure](https://awesome-repositories.com/f/data-databases/event-streaming-infrastructure.md) — Transforms low-level database binary logs into structured, consumable message streams for decoupled microservices.
- [Event Streaming Pipelines](https://awesome-repositories.com/f/data-databases/event-streaming-pipelines.md) — Transforms parsed database changes into serialized messages pushed to downstream queues for asynchronous consumption.
- [Real-Time Data Integration Platforms](https://awesome-repositories.com/f/data-databases/real-time-data-integration-platforms.md) — Synchronizes live data across heterogeneous storage systems and analytical platforms by streaming database events.
- [Binary Log Streaming Tools](https://awesome-repositories.com/f/data-databases/binary-log-streaming-tools.md) — Forwards database binary log events directly to message queue systems to enable real-time data integration. ([source](https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart))
- [Data Synchronization Checkpoints](https://awesome-repositories.com/f/data-databases/data-synchronization-checkpoints.md) — Maintains persistent markers of the last processed transaction to ensure reliable data delivery and recovery.
- [Message Queue Integration Frameworks](https://awesome-repositories.com/f/data-databases/message-queue-integration-frameworks.md) — Controls data throughput and routing rules by defining batching, partitioning, and serialization settings. ([source](https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart))
- [Log Processing Engines](https://awesome-repositories.com/f/data-databases/log-processing-engines.md) — Processes high-volume database logs using parallel worker threads to maximize throughput and minimize latency.
- [Message Ordering Management Systems](https://awesome-repositories.com/f/data-databases/message-ordering-management-systems.md) — Balances data consistency and processing speed by selecting specific routing strategies for message partitioning. ([source](https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart))

### DevOps & Infrastructure

- [Data Throughput Optimizers](https://awesome-repositories.com/f/devops-infrastructure/data-throughput-optimizers.md) — Increases processing speed through network buffer tuning and concurrent parsing models to handle large data volumes efficiently. ([source](https://github.com/alibaba/canal/wiki/Performance))

### Software Engineering & Architecture

- [Modular Data Adapters](https://awesome-repositories.com/f/software-engineering-architecture/modular-data-adapters.md) — Decouples data extraction from destination storage by using modular adapters to route events.

### System Administration & Monitoring

- [Performance Diagnostic Tools](https://awesome-repositories.com/f/system-administration-monitoring/performance-diagnostic-tools.md) — Identifies system bottlenecks by tracking transaction latency and processing times to diagnose pipeline efficiency. ([source](https://github.com/alibaba/canal/wiki/Prometheus-QuickStart))
- [System Health Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/system-health-dashboards.md) — Tracks real-time operational status by exporting metrics to dashboards to maintain system reliability and uptime. ([source](https://github.com/alibaba/canal/wiki/Prometheus-QuickStart))

### Security & Cryptography

- [Secure Network Connectivity Modules](https://awesome-repositories.com/f/security-cryptography/secure-network-connectivity-modules.md) — Protects data transmission by enabling encrypted authentication protocols and providing security configuration files. ([source](https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart))
