.. _multi_dc: Multi-Datacenter Replication ============================ |cp| can be deployed in multiple datacenters. Multi datacenter deployments enable use-cases such as: * Active-active geo-localized deployments: allows users to access a near-by data center to optimize their architecture for low latency and high performance * Active-passive disaster recover (DR) deployments: in an event of a partial or complete datacenter disaster, allow failing over applications to use |cp| in a different datacenter. * Centralized analytics: Aggregate data from multiple |ak-tm| clusters into one location for organization-wide analytics * Cloud migration: Use |ak| to synchronize data between on-prem applications and cloud deployments Replication of events in |ak| topics from one cluster to another is the foundation of Confluent's multi datacenter architecture. Replication can be done with |crep-full| or using the open source |mmaker|. |crep-full| allows you to easily and reliably replicate topics from one |ak| cluster to another. In addition to copying the messages, |crep| will create topics as needed preserving the topic configuration in the source cluster. This includes preserving the number of partitions, the replication factor, and any configuration overrides specified for individual topics. The diagram below shows the |crep| architecture. Notice how |crep| uses the |kconnect-long| APIs and Workers to provide high availability, load-balancing and centralized management. .. figure:: replicator_components.png :align: center Replicator Architecture |mmaker| is a stand-alone tool for copying data between two |ak| clusters. |crep-full| is a more complete solution that handles topic configuration and data, and integrates with |kconnect-long| and |c3| to improve availability, scalability and ease of use. See the section on :ref:`comparing MirrorMaker to Confluent Replicator` for more detail. Follow these guidelines for configuring a multi datacenter deployment: 1. Use the :ref:`Replicator quick start` to set up replication between two |ak| clusters. 2. Learn how to :ref:`install and configure` |crep| and other |cp| components in multi datacenter environments. 3. Before running |crep| in production, make sure you read the :ref:`monitoring and tuning guide`. 4. Review the |crep-full| example in the :ref:`Confluent Platform demo`. The demo shows users how to deploy a |ak| streaming ETL using KSQL for stream processing and |c3| for monitoring, along with |crep| to replicate data. 5. For a practical guide to designing and configuring multiple |ak| clusters to be resilient in case of a disaster scenario, see the `Disaster Recovery `_ white paper. This white paper provides a plan for failover, failback, and ultimately successful recovery. .. toctree:: :maxdepth: 3 replicator-quickstart replicator-install replicator-tuning replicator-failover replicator-executable mirrormaker migrate-replicator