La réplication physique réduit la charge CPU et améliore les performances d'écriture de plus de 45 % pour les charges de travail intensives en écriture comportant des shards réplica. Elle convient particulièrement aux cas d'utilisation tolérant des délais de visibilité des données de l'ordre de la milliseconde, tels que la journalisation et l'analyse de séries chronologiques.
Le plug-in apack, développé par Alibaba Cloud, fournit cette fonctionnalité. Il est installé par défaut sur les instances Alibaba Cloud Elasticsearch exécutant la version 6.7.0 (version du noyau 1.2.0 ou ultérieure) ou la version 7.10.0, et ne peut pas être désinstallé. Pour vérifier l'état de l'installation, accédez à la page Plug-ins. Exécutez toutes les commandes présentées dans cette rubrique depuis la console Kibana. Pour plus d'informations, consultez la rubrique Connexion à un cluster via Kibana.
Fonctionnement
Avec la réplication native, le shard primaire et les shards réplica écrivent tous deux dans le fichier d'index et le translog.
Lorsque la réplication physique est activée :
Le shard primaire écrit à la fois dans le fichier d'index et le translog (inchangé).
Le shard réplica écrit uniquement dans le translog.
Lors de chaque actualisation, le shard primaire copie les fichiers d'index incrémentiels vers le shard réplica via le réseau.
Ce mécanisme décharge les shards réplica des tâches d'indexation, au prix d'une augmentation de l'utilisation du réseau sur le shard primaire. Le délai de visibilité des données entre le shard primaire et les shards réplica reste de l'ordre de la milliseconde.

Considérations préalables
Avant d'activer la réplication physique, tenez compte des points suivants :
Utilisation du réseau : La réplication physique accroît la charge réseau sur les shards primaires, car ceux-ci doivent copier les fichiers d'index vers tous les shards réplica lors de chaque actualisation.
Incompatibilité avec la réplication inter-clusters (CCR) : Si vous envisagez d'utiliser la réplication inter-clusters (CCR) pour la reprise après sinistre, désactivez d'abord la réplication physique. Ces deux fonctionnalités sont incompatibles.
Délai de visibilité des données : Les données des shards réplica deviennent visibles quelques millisecondes après l'actualisation du shard primaire, et non immédiatement après l'indexation. Ce comportement convient à la journalisation et à l'analyse de séries chronologiques, mais peut ne pas répondre aux exigences des cas d'utilisation nécessitant une cohérence en lecture après écriture.
Activer la réplication physique pour un nouvel index
La réplication physique est activée par défaut pour les index créés après l'installation du plug-in apack ; aucune configuration manuelle n'est requise.
Pour l'activer explicitement lors de la création d'un index, définissez le paramètre index.replication.type sur segment :
PUT index-1
{
"settings": {
"index.replication.type" : "segment"
}
}
Pour activer la réplication physique sur un index existant utilisant actuellement le mode de réplication native, consultez la section Activer la réplication physique pour un index existant.
Désactiver la réplication physique
Après la désactivation de la réplication physique, l'index revient au mode de réplication native, où le shard primaire et les shards réplica écrivent tous deux dans le fichier d'index et le translog.
Désactivez la réplication physique avant d'utiliser la réplication inter-clusters (CCR) pour la reprise après sinistre. Pour plus d'informations, consultez la rubrique Utiliser la réplication inter-clusters (CCR) pour la reprise après sinistre.
-
Fermez l'index.
POST index-1/_close -
Mettez à jour les paramètres de l'index pour désactiver la réplication physique.
PUT index-1/_settings { "index.replication.type" : null } -
Ouvrez l'index.
POST index-1/_open
Activer la réplication physique pour un index existant
Pour activer la réplication physique sur un index existant en mode de réplication native, commencez par définir le nombre de réplicas sur 0 et fermez l'index.
-
Définissez le nombre de réplicas sur 0.
PUT index-1/_settings { "index.number_of_replicas": 0 } -
Fermez l'index.
POST index-1/_close -
Mettez à jour les paramètres de l'index pour activer la réplication physique.
PUT index-1/_settings { "index.replication.type" : "segment" } -
Ouvrez l'index.
POST index-1/_open -
Rétablissez le nombre de réplicas.
PUT index-1/_settings { "index.number_of_replicas": 1 }