Effectuer un basculement imprévu vers la région secondaire AWS - Amazon Managed Streaming for Apache Kafka

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Effectuer un basculement imprévu vers la région secondaire AWS

Vous pouvez effectuer un basculement imprévu lorsqu'un événement de service se produit dans la AWS région principale dans laquelle se trouve votre cluster MSK source et que vous souhaitez rediriger temporairement votre trafic vers la région secondaire dans laquelle se trouve votre cluster MSK cible. Un basculement imprévu peut entraîner des pertes de données car MSK Replicator réplique les données de manière asynchrone. Vous pouvez suivre le décalage des messages à l'aide des métriques contenues dansSurveiller la réplication.

Si vous utilisez une configuration de réplication de noms de rubrique identiques (conservez le même nom de rubrique dans la console), procédez comme suit :

  1. Essayez de fermer tous les producteurs et consommateurs se connectant au cluster MSK source dans la région principale. Cette opération risque d'échouer en raison de déficiences dans cette région.

  2. Commencez à connecter les producteurs et les consommateurs au cluster MSK cible dans la AWS région secondaire pour terminer le basculement. MSK Replicator répliquant également les métadonnées, notamment les décalages de lecture ACLs et de groupe de consommateurs, vos producteurs et consommateurs reprendront le traitement en toute fluidité là où ils s'étaient arrêtés avant le basculement.

Si vous utilisez la configuration du nom de PREFIX rubrique, procédez comme suit pour effectuer un basculement :

  1. Essayez de fermer tous les producteurs et consommateurs se connectant au cluster MSK source dans la région principale. Cette opération risque d'échouer en raison de déficiences dans cette région.

  2. Commencez à connecter les producteurs et les consommateurs au cluster MSK cible dans la AWS région secondaire pour terminer le basculement. MSK Replicator répliquant également les métadonnées, notamment les décalages de lecture ACLs et de groupe de consommateurs, vos producteurs et consommateurs reprendront le traitement en toute fluidité là où ils s'étaient arrêtés avant le basculement.

  3. Selon les exigences d'ordre des messages de votre application, suivez les étapes décrites dans l'un des onglets suivants.

    No message ordering

    Si votre application ne nécessite pas de classement des messages, commencez par utiliser un opérateur générique (par exemple,topic) pour les consommateurs de la AWS région cible qui lisent à la fois des sujets locaux (par exemple<sourceKafkaClusterAlias>.topic) et des sujets répliqués (par exemple,.*topic).

    Message ordering
    1. Démarrez les consommateurs uniquement pour les rubriques répliquées sur le cluster cible (par exemple, <sourceKafkaClusterAlias>.topic), mais pas pour les rubriques locales (par exemple, topic).

    2. Attendez que tous les consommateurs des rubriques répliquées sur le cluster MSK cible aient fini de traiter toutes les données, de sorte que le décalage soit égal à 0 et que le nombre d'enregistrements traités soit également égal à 0. Arrêtez ensuite les consommateurs pour les rubriques répliquées sur le cluster cible. À ce stade, tous les enregistrements répliqués du cluster MSK source vers le cluster MSK cible ont été consommés.

    3. Démarrez les consommateurs pour les rubriques locales (par exemple, topic) sur le cluster MSK cible.

  4. Une fois l'événement de service terminé dans la région principale, créez un nouveau réplicateur MSK pour répliquer les données de votre cluster MSK de la région secondaire vers votre cluster MSK de la région principale, la position de départ du réplicateur étant définie au plus tôt. Cette opération est nécessaire pour copier les données que vous allez écrire dans la région secondaire vers la région principale afin d'effectuer un failback vers la région principale une fois que l'événement est terminé. Si vous ne définissez pas la position de départ du réplicateur au plus tôt, les données que vous avez produites pour le cluster dans la région secondaire lors de l'événement de service dans la région principale ne seront pas copiées vers le cluster de la région principale.