For an event driven data synchronization engine, the strongest matches are debezium/debezium (Debezium is a specialized change data capture platform that), alibaba/canal (Canal is a specialized change data capture tool that) and linkedin/databus (Databus is a distributed change data capture and event). redpanda-data/connect and zendesk/maxwell round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best event-driven synchronization engines. Compare top open-source tools ranked by activity and features to find the right fit for your stack.
Debezium is a distributed change data capture platform that streams row-level database modifications as real-time events. By parsing database transaction logs, the system broadcasts structural and data changes to message brokers, enabling reactive processing and data integration across distributed architectures. The platform utilizes log-based capture to extract modifications directly from transaction logs, ensuring minimal impact on source system performance while maintaining the original commit order of operations. It employs database-specific connector adapters to translate proprietary bin
Debezium is a specialized change data capture platform that serves as a critical component for event-driven synchronization by streaming database modifications into message brokers, though it functions as a data ingestion engine rather than a full-stack synchronization platform.
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 extra
Canal is a specialized change data capture tool that streams database modifications into event-driven pipelines, providing the core synchronization capability required for distributed systems.
Databus is a distributed change data capture system and database transaction log streamer. It extracts data modifications from source logs and streams them to downstream consumers to keep secondary data stores and caches consistent. The system functions as a source-agnostic data pipeline and distributed event relay. It uses a network of processes to decouple database sources from consumers, routing change streams across a network to multiple targets regardless of the original source system. The project covers real-time data synchronization and distributed pipeline monitoring. This includes t
Databus is a distributed change data capture and event streaming system designed to synchronize database changes across distributed environments, fitting the core requirements for event-driven data propagation.
Connect is a Kafka data integration platform and stream processing engine used to build declarative pipelines that move and transform messages between Kafka topics and external sources. It functions as a Kafka Connect framework and a change data capture tool, streaming real-time database modifications to synchronize data across distributed environments. The project differentiates itself through a dedicated mapping language for mutating and reshaping message payloads and the ability to execute custom processing logic within a sandboxed WebAssembly runtime. It also provides an observability pip
This is a stream processing and data integration engine that facilitates real-time synchronization and event-driven pipelines, effectively serving as a core component for distributed data movement.
Maxwell is a MySQL change data capture tool and binlog streaming application that converts database modifications into structured JSON events. It functions as a data pipeline that reads MySQL binary logs to synchronize changes across external indices, search engines, and distributed messaging systems such as Kafka. The project provides capabilities to maintain persistent audit trails by recording a chronological history of all database modifications. It enables real-time data synchronization and event-driven architecture integration by streaming database changes to external platforms to trigg
Maxwell is a specialized change data capture tool that streams database modifications as events, serving as a core component for building event-driven synchronization pipelines.
rqlite is a distributed relational database that replicates SQLite data across a cluster using the Raft consensus algorithm. It functions as a fault-tolerant storage system that provides high availability and a web API for executing SQL queries and managing relational data without requiring native database drivers. The system distinguishes itself by using an HTTP SQL interface to expose database operations and cluster management. It features a real-time change data capture stream that pushes database mutations to external HTTP endpoints via webhooks and supports the scaling of read throughput
rqlite is a distributed relational database that provides change data capture and webhook-based event streaming, making it a viable tool for synchronizing state across distributed systems despite being primarily a database engine.
Kafka is a distributed event streaming platform designed for capturing, storing, and processing real-time data streams across interconnected nodes. It functions as a distributed commit log, providing a fault-tolerant storage mechanism that records state changes sequentially to ensure data consistency and durability across distributed environments. The platform distinguishes itself through a partitioned commit log architecture that enables horizontal scaling and parallel processing of data streams. It integrates a stream processing engine for continuous transformations and aggregations, while
Apache Kafka is a foundational distributed event streaming platform that provides the core message brokering, real-time data streaming, and fault-tolerant storage required for event-driven synchronization across distributed systems.
Apache Pulsar is a cloud-native distributed pub-sub messaging system designed for high-performance data ingestion. It functions as a geo-replicated data streamer and a multi-tenant event streaming platform, providing a serverless stream processing engine and a tiered storage messaging broker. The system distinguishes itself by separating serving layers from storage layers to allow independent scaling of compute and data retention. It features native geo-replication to synchronize messages across different geographical regions and employs a multi-layered tenant isolation model using authentica
Apache Pulsar is a comprehensive event-driven platform that provides high-performance message brokering, real-time streaming, and native support for data synchronization across distributed systems.
Apache Pulsar is a cloud-native message queue and distributed publish-subscribe messaging system. It serves as a multi-tenant event streaming platform designed to route data streams for asynchronous communication between producers and consumers. The system distinguishes itself through geo-replication, synchronizing data across multiple geographic regions to ensure high availability and low latency. It implements a multi-tenant architecture that provides isolation and resource management for millions of independent topics. The platform covers high-throughput data streaming and event-driven da
Apache Pulsar is a comprehensive event-driven streaming platform that provides the core messaging, multi-tenancy, and geo-replication capabilities required to synchronize data across distributed systems.
Chunjun is a distributed data integration framework and SQL-based ETL pipeline designed to synchronize data between heterogeneous sources. It functions as a change data capture tool and a heterogeneous data synchronizer, utilizing a distributed processing environment to move and transform data across different database types. The system is distinguished by its plugin-based connector architecture, which allows for the development of custom source and sink plugins to extend connectivity to unsupported data systems. It supports real-time change data capture from relational database logs and impl
Chunjun is a distributed data integration and ETL framework that provides robust change data capture and real-time synchronization capabilities, making it a strong tool for moving data between heterogeneous systems in an event-driven manner.
This project is a high-performance MQTT broker and IoT data platform designed to manage millions of concurrent device connections. It provides a scalable infrastructure for ingesting, processing, and routing telemetry data across distributed systems, utilizing an actor-based concurrency model to maintain high availability and state synchronization across cluster nodes. The platform distinguishes itself through integrated stream processing and edge computing capabilities. It allows users to execute declarative SQL-based rules directly against incoming message streams for real-time filtering, t
This is a high-performance MQTT broker and IoT data platform that provides real-time event streaming and message routing, though it is specialized for device-to-cloud communication rather than general-purpose distributed system data synchronization.
Arroyo is a high-performance stream processing platform built in Rust. It executes continuous SQL queries on streaming data with event-time semantics, enabling accurate windowed aggregations, joins, and stateful computations on unbounded event streams. The platform uses native Rust execution for high throughput and low latency, with periodic checkpointing for exactly-once fault tolerance and horizontal scaling across distributed workers. The system integrates deeply with Kafka for reading and writing topics with exactly-once delivery and supports change data capture (CDC) from MySQL and Postg
Arroyo is a stream processing platform that provides the core event-driven capabilities required for real-time data synchronization, including Kafka integration, change data capture, and support for various streaming sources and sinks.
Materialize is a streaming SQL database that continuously ingests live data from sources such as Kafka, Redpanda, PostgreSQL, and MySQL, and incrementally maintains materialized views. It provides a PostgreSQL-compatible query engine that accepts standard SQL over the PostgreSQL wire protocol, enabling any existing SQL client or BI tool to query real-time data. The system also includes a Model Context Protocol (MCP) server that exposes live materialized view data to AI agents, providing fresh context without polling. Materialize distinguishes itself through its ability to offer configurable c
Materialize is a streaming database that provides real-time data synchronization and event-driven processing by continuously ingesting data from sources like Kafka and PostgreSQL, though it functions primarily as a query engine rather than a general-purpose message broker.
RabbitMQ is a multi-protocol messaging broker that functions as an AMQP message broker, a clustered message queue, and a distributed message stream. It provides a server for translating and bridging communication between diverse messaging standards to connect heterogeneous systems. The system distinguishes itself through distributed broker clustering and federation, using shoveling mechanisms to synchronize data across geographically separate sites. It supports high-throughput, append-only logs for persisting and reading large sequences of messages for real-time processing. The broker covers
RabbitMQ is a robust message broker that provides the core infrastructure for real-time event streaming and distributed communication, though it requires additional tooling to implement full change data capture and schema registry features.
NSQ is a distributed, brokerless messaging platform designed for high-throughput, fault-tolerant communication. By utilizing a decentralized topology, it eliminates single points of failure and allows for horizontal scaling across clusters. The system organizes message streams into topics and channels, effectively decoupling producers from consumers to support both streaming and job-oriented workloads. The platform distinguishes itself through a lookup-service-based discovery mechanism that enables clients to dynamically locate producers at runtime without requiring centralized coordination.
NSQ is a distributed messaging platform that provides the core event streaming and decoupling capabilities required for event-driven architectures, though it lacks built-in change data capture and schema registry features.
RocketMQ is a cloud-native distributed messaging platform and streaming engine. It functions as a distributed transactional queue that ensures atomicity between local transactions and message delivery, and serves as an MQTT IoT message broker to bridge lightweight device traffic into high-performance data streams. The system is distinguished by a Kubernetes-native architecture that decouples compute from storage to allow independent scaling of traffic and data retention. It utilizes a tiered storage model to offload older data to remote storage and employs quorum-based replication and automat
RocketMQ is a distributed messaging and streaming platform that provides the core infrastructure for event-driven architectures, including message queuing, transactional consistency, and support for data pipelines.
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t
NATS Server is a high-performance messaging system that provides the core event-driven communication and publish-subscribe capabilities required for distributed synchronization, though it lacks built-in change data capture and schema registry features found in more comprehensive data platforms.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Hazelcast is a distributed in-memory data platform that provides the core capabilities for real-time event streaming and data synchronization across distributed systems, though it focuses more on stateful stream processing than traditional message-broker-centric architectures.
This project is a framework for implementing event sourcing and command query responsibility segregation within containerized microservices. It provides a structured approach to managing business state as a sequence of immutable events, ensuring a reliable audit trail and the ability to reconstruct system state at any point in time. The framework distinguishes itself by enforcing a clear separation between data modification and data retrieval paths. By utilizing event-driven data synchronization, it allows for the asynchronous updating of materialized views and read models, ensuring that quer
This framework provides the necessary infrastructure for implementing event-driven data synchronization and CQRS patterns within microservices, though it functions as a development toolkit for building these systems rather than a standalone, out-of-the-box event streaming platform.
Apache Camel is an enterprise integration framework and Java integration engine designed to route and mediate data between disparate systems. It functions as a multi-runtime middleware that implements standardized enterprise integration patterns to manage how messages are routed, transformed, and processed. The framework includes a specialized gateway to connect large language models to enterprise data and internal systems using dedicated communication protocols. It utilizes a vast library of pre-built connectors to bridge different communication protocols and enable data exchange between inc
Apache Camel is an integration framework that provides the core routing, transformation, and connectivity capabilities required to build event-driven data pipelines, though it functions as a middleware engine rather than a standalone message broker or distributed consensus platform.
Apache NiFi is a flow-based programming platform that enables the visual design, monitoring, and management of data pipelines. At its core, it provides a web-based visual dataflow designer where users build directed graphs of processors to route, transform, and mediate data movement between any source and destination without writing custom code. The system records fine-grained data provenance for every data item from ingestion to delivery, supporting audit, debugging, and replay of data lineage. The platform distinguishes itself through a zero-master cluster architecture that distributes proc
Apache NiFi is a robust data integration and flow-based orchestration platform that handles real-time data movement and transformation across distributed systems, though it functions more as a data pipeline orchestrator than a traditional event-streaming message broker.
Mirror of Apache Samza
Apache Samza is a distributed stream processing framework designed for stateful event-driven applications, providing the core real-time streaming and integration capabilities required for an event-driven architecture.
The platform is a distributed system designed for real-time data monitoring, continuous graph-based query processing, and reactive event automation. It functions as a middleware solution that tracks state changes in external databases and systems, evaluating these streams against graph patterns to identify significant events and state transitions without the need for manual polling. The platform distinguishes itself through its ability to synchronize state updates across distributed environments, including real-time updates to vector databases for AI applications. It utilizes a pluggable conn
This platform provides a framework for monitoring data changes across distributed systems and reacting to them in real-time, aligning with the core requirements for event-driven synchronization and change data capture.
Messenger is an asynchronous messaging system and event-driven communication layer designed to exchange events between decoupled components. It functions as an inter-process communication tool that removes direct dependencies between services by routing messages through a middleware layer. The system implements a pub-sub messaging model where components subscribe to specific event types and receive notifications when those events are triggered. It utilizes a central dispatcher to route asynchronous events from producers to registered subscribers. The project provides capabilities for distrib
This is an event-driven messaging system that facilitates decoupled communication between distributed services, though it lacks the specialized change data capture and schema registry features required for a full-scale data synchronization platform.
CAP is a .NET distributed transaction framework and event bus designed to manage asynchronous communication in microservices. It implements the outbox pattern to ensure eventual consistency and reliable message delivery by persisting messages in local database tables until transactions commit. The framework includes a distributed message monitor and web dashboard for tracking the status of sent and received messages. It provides tools for event traffic visualization, distributed request tracing, and the ability to manually trigger retries for failed delivery attempts. The system supports var
CAP is a distributed event bus and transaction framework that facilitates asynchronous communication and reliable message delivery in microservices, serving as a core component for building event-driven synchronization systems.
Event-driven application platform for Kubernetes
Knative Eventing provides a robust framework for managing event-driven architectures on Kubernetes, offering native support for event streaming, routing, and broker-based communication between distributed services.
| Repository | Stele | Limbaj | Licență | Ultimul push |
|---|---|---|---|---|
| debezium/debezium | 12.4K | Java | apache-2.0 | |
| alibaba/canal | 29.7K | Java | Apache-2.0 | |
| linkedin/databus | 3.7K | Java | Apache-2.0 | |
| redpanda-data/connect | 8.7K | Go | — | |
| zendesk/maxwell | 4.3K | Java | NOASSERTION | |
| rqlite/rqlite | 17.6K | Go | MIT | |
| apache/kafka | 32.8K | Java | Apache-2.0 | |
| apache/pulsar | 15.3K | Java | Apache-2.0 | |
| apache/incubator-pulsar | 15.3K | Java | Apache-2.0 | |
| dtstack/chunjun | 4.1K | Java | Apache-2.0 |