For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/data-analytics/analytics/mirrormaker-replicate-topics.md.

Kafka MirrorMaker - Comment répliquer des topics entre deux services Kafka

Voir en Markdown

Découvrez comment répliquer des topics Kafka d'un service Kafka vers un autre avec Kafka MirrorMaker et l'API OVHcloud

Objectif

Kafka MirrorMaker copie en continu les messages de topics Kafka d'un service Kafka source vers un service Kafka cible. Vous pouvez l'utiliser pour migrer vers un nouveau service ou une nouvelle version de Kafka, ou pour conserver une copie de vos topics dans un autre service.

Ce guide explique comment répliquer un topic entre deux services Kafka du même projet Public Cloud avec l'API OVHcloud.

Prérequis

  • Disposer d'un projet Public Cloud dans votre compte OVHcloud
  • Disposer de deux services Kafka dans ce projet : une source et une cible. Ils peuvent utiliser des versions de Kafka différentes ; ce guide a été testé de Kafka 3.9 vers Kafka 4.3.
  • Disposer d'un topic à répliquer sur le service source, ici inventory
  • Disposer d'un service Kafka MirrorMaker dans le même projet
  • Disposer d'un accès à l'API OVHcloud

En pratique

Étape 1 - Relier les deux services Kafka à MirrorMaker

Sur votre service MirrorMaker, créez une intégration pour le service source et une autre pour le service cible :

{
  "type": "kafkaMirrorMaker",
  "sourceServiceId": "<ID du service Kafka source>",
  "destinationServiceId": "<ID du service MirrorMaker>"
}
{
  "type": "kafkaMirrorMaker",
  "sourceServiceId": "<ID du service Kafka cible>",
  "destinationServiceId": "<ID du service MirrorMaker>"
}

Dans les deux cas, sourceServiceId est le service Kafka et destinationServiceId le service MirrorMaker. Conservez l'id renvoyé pour chaque intégration.

Étape 2 - Créer le flux de réplication

Créez un flux de réplication de l'intégration source vers l'intégration cible :

{
  "sourceIntegration": "<ID de l'intégration source>",
  "targetIntegration": "<ID de l'intégration cible>",
  "topics": ["inventory"],
  "syncGroupOffsets": true,
  "syncInterval": 60,
  "emitHeartbeats": true,
  "enabled": true
}

L'API renvoie le flux de réplication avec sa politique de réplication par défaut :

{
  "id": "<ID de la réplication>",
  "sourceIntegration": "<ID de l'intégration source>",
  "targetIntegration": "<ID de l'intégration cible>",
  "replicationPolicyClass": "org.apache.kafka.connect.mirror.DefaultReplicationPolicy",
  "topics": ["inventory"],
  "topicExcludeList": [],
  "syncGroupOffsets": true,
  "syncInterval": 60,
  "emitHeartbeats": true,
  "enabled": true
}

Dans ce flux de réplication :

  • topics liste les topics à répliquer, et topicExcludeList les topics à exclure ;
  • syncGroupOffsets copie les offsets des groupes de consommateurs vers le service cible, toutes les syncInterval secondes ;
  • emitHeartbeats demande à MirrorMaker d'écrire des messages de heartbeat sur le service cible.

Étape 3 - Vérifier le topic répliqué

Avec la politique de réplication par défaut, le topic répliqué est créé sur le service cible avec l'alias du service source en préfixe. Pour le topic inventory, le service cible contient un topic nommé sur le modèle xxxxxxxxx.kafka-xxxxxxxx.inventory, avec les mêmes messages que le topic source.

MirrorMaker crée également ses propres topics sur le service cible : heartbeats, xxxxxxxxx.kafka-xxxxxxxx.checkpoints.internal, ainsi que des topics commençant par mm2-.

Pour lire les messages répliqués, accordez à vos utilisateurs une ACL read sur le topic répliqué du service cible. Consultez le guide « Kafka - Comment utiliser les listes de contrôle d'accès (ACL) ».

Étape 4 - Gérer le flux de réplication

Consultez ou supprimez un flux de réplication :

Aller plus loin

Capacités et limitations pour Analytics avec Kafka MirrorMaker

Votre avis nous intéresse !

Nous serions ravis de répondre à vos questions et apprécions tout retour que vous pourriez nous faire.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Vous êtes sur Discord ? Rejoignez notre chaîne via https://discord.gg/ovhcloud et interagissez directement avec l'équipe qui développe notre service Analytics !

Échangez avec notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?