Skip to content

Commit 4f20fa8

Browse files
committed
docs(review): edits to doc from comments by JS -- 01
Signed-off-by: prmellor <[email protected]>
1 parent 64817da commit 4f20fa8

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

documentation/modules/configuring/con-mm2-recovery.adoc

+19-19
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,38 @@
77

88
[role="_abstract"]
99
MirrorMaker 2 can be configured for active/passive disaster recovery.
10-
To support this, the Kafka cluster should also be monitored for health and performance to detect issues that detect issues that require failover promptly.
10+
To support this, the Kafka cluster should also be monitored for health and performance to detect issues that require failover promptly.
1111

12-
In the event of failover, operations switch from the active cluster to the passive cluster when the active cluster becomes unavailable.
13-
14-
In a worst-case scenario, the original active cluster is typically considered permanently lost.
12+
If failover occurs, which can be automated, operations switch from the active cluster to the passive cluster when the active cluster becomes unavailable.
13+
The original active cluster is typically considered permanently lost.
1514
The passive cluster is promoted to active status, taking over as the source for all application traffic.
16-
In this state, MirrorMaker 2 stops replicating data to the original active cluster because it is no longer functional.
15+
In this state, MirrorMaker 2 no longer replicates data from the original active cluster while it remains unavailable.
1716

1817
Failback, or restoring operations to the original active cluster, requires careful planning.
19-
While it is technically possible to reverse roles by swapping the source and target clusters in the MirrorMaker 2 configuration, this approach carries the risk of data duplication when records mirrored to the passive cluster are mirrored back to the original active cluster. To avoid duplicates, resetting consumer offsets is an option, but it adds further complexity.
20-
Generally, rebuilding the original active cluster and mirroring data from the disaster recovery cluster is a simpler and more reliable approach.
18+
19+
It is technically possible to reverse roles in MirrorMaker 2 by swapping the source and target clusters and deploying this configuration as a new instance.
20+
However, this approach risks data duplication, as records mirrored to the passive cluster may be mirrored back to the original active cluster.
21+
Avoiding duplicates requires resetting consumer offsets, which adds complexity.
22+
For a simpler and more reliable failback process, rebuild the original active cluster in a clean state and mirror data from the disaster recovery cluster.
2123

2224
Follow these best practices for disaster recovery in the event of failure of the active cluster in an active/passive configuration:
2325

2426
. Promote the passive recovery cluster to an active role. +
27+
Designate the passive cluster as the active cluster for all client connections.
2528
This minimizes downtime and ensures operations can continue.
2629
. Redirect applications to the new active recovery cluster. +
27-
Be aware that switching consumers to the recovery cluster may result in some message duplication.
28-
. Recreate the failed cluster in a clean state, adhering to the original configuration.
30+
MirrorMaker 2 synchronizes committed offsets to passive clusters, allowing consumer applications to resume from the last transferred offset when switching to the recovery cluster.
31+
However, because of the time lag in offset synchronization, switching consumers may result in some message duplication.
32+
To minimize duplication, switch all members of a consumer group together as soon as possible.
33+
Keeping the group intact minimizes the chance of a consumer processing duplicate messages.
34+
. Remove the MirrorMaker 2 configuration for replication from the original active cluster to the passive cluster. +
35+
After failover, the original configuration is no longer needed and should be removed to avoid conflicts.
36+
. Re-create the failed cluster in a clean state, adhering to the original configuration.
2937
. Deploy a new MirrorMaker 2 instance to replicate data from the active recovery cluster to the rebuilt cluster. +
3038
Treat the rebuilt cluster as the passive cluster during this replication process.
3139
To prevent automatic renaming of topics, configure MirrorMaker 2 to use the `IdentityReplicationPolicy` by setting the `replication.policy.class` property in the MirrorMaker 2 configuration.
3240
With this configuration applied, topics retain their original names in the target cluster.
3341
. Ensure the rebuilt cluster mirrors all data from the now-active recovery cluster.
34-
. (Optional) Promote the rebuilt cluster back to active status by redirecting applications to the rebuilt cluster.
35-
36-
NOTE: Before implementing any failover or failback processes, test your recovery approach in a controlled environment to minimize downtime and maintain data integrity.
37-
38-
39-
40-
41-
42-
43-
42+
. (Optional) Promote the rebuilt cluster back to active status by redirecting applications to the rebuilt cluster, after ensuring it is fully synchronized with the active cluster.
4443

44+
NOTE: Before implementing any failover or failback processes, test your recovery approach in a controlled environment to minimize downtime and maintain data integrity.

0 commit comments

Comments
 (0)