# Does Kaka provide At least once guarantee across clusters?

**URL:** https://forum.confluent.io/t/does-kaka-provide-at-least-once-guarantee-across-clusters/10901
**Category:** Architecture and Design
**Created:** [14 June 2024 16:51 UTC](https://forum.confluent.io/t/does-kaka-provide-at-least-once-guarantee-across-clusters/10901 "2024-06-14T16:51:55Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![maithilicharan](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/maithilicharan/32/3831_2.png) [@maithilicharan](https://forum.confluent.io/u/maithilicharan)
#### Post date: [14 June 2024 16:51 UTC](https://forum.confluent.io/t/does-kaka-provide-at-least-once-guarantee-across-clusters/10901/1 "2024-06-14T16:51:55Z")

</div>

I have requirement to write KafkaCluserBridge app read from a topic ‘TopicA’ from Cluster A and publish to another topic ‘TopicB’ located cluster B. In this scenario Can I rely on Kafka Guarantees such as At least once, ordering across the clusters?

Should I just use Mirror Maker2 to replicate TopicA into cluster B and start my data pipeline processing, so that I could get Kafka guarantees, instead of writing my own KafkaClusterBridge application and stop worrying about failover scenarios?

TLDR: Does Kafka provide offset management and delivery guarantee across the cluster without Mirror Maker?

---

<div class="post-metadata">

### Author: ![dtroiano](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/dtroiano/32/1961_2.png) [@dtroiano](https://forum.confluent.io/u/dtroiano)
#### Post date: [14 June 2024 17:50 UTC](https://forum.confluent.io/t/does-kaka-provide-at-least-once-guarantee-across-clusters/10901/2 "2024-06-14T17:50:30Z")

</div>

> [@maithilicharan](#):
>
> Does Kafka provide offset management and delivery guarantee across the cluster without Mirror Maker?

Mirror Maker 2 replicates data asynchronously so in general data can be lost during a failover scenario. For example:

1. producer to primary cluster with `acks=all` has successfully written 1000 records
2. primary fails
3. failover to DR cluster

At #3, the DR cluster can have anywhere from 0 to 1000 of those records because MM2 replicates async.

Also Mirror Maker 2 doesn’t preserve offsets.

[This](https://developer.confluent.io/courses/architecture/geo-replication/) Kafka Internals course module discusses MM2 plus other geo-replication options and their properties. If you need at least once delivery with respect to the primary _and_ DR clusters, you would need a synchronous replication solution, either a single Kafka stretch cluster than spans regions and uses Kafka’s internal replication and delivery guarantees, or Confluent Platform’s [Multi-Region Clusters](https://docs.confluent.io/platform/current/multi-dc-deployments/multi-region.html) feature (with synchronous replication, not observers).

---

<div class="post-metadata">

### Author: ![maithilicharan](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/maithilicharan/32/3831_2.png) [@maithilicharan](https://forum.confluent.io/u/maithilicharan)
#### Post date: [17 June 2024 12:36 UTC](https://forum.confluent.io/t/does-kaka-provide-at-least-once-guarantee-across-clusters/10901/3 "2024-06-17T12:36:03Z")

</div>

Thanks for your reply Dave. I appreciate your reply. Your answer is addressing multi region, DR scenario, but my scenario is bit different, perhaps I should have explained a little bit more clearer.

As part of data pipeline migration I have a requirement to mirror a high volume topic from Confluent to On Prem cluster. To avoid the duplication of data and throughput could I consume from Confluent Cloud topic and apply the business logic and finally publish to a downstream topic in On Prem cluster with the manual commit and with the producer settings ( acks=all, retries=3 , enable.idempotence=true)?

Could I expect seamless failover synchronisation across the two clusters in this approach? Can I get At least guarantee to work across Confluent Cloud and On Prem Cluster? If not do you see any other potential scenarios where I could loose messages?
