6 - Conclusion


Qu’est-ce qu’un cluster ?

  • Un ensemble de machines qu’on appelle des noeuds (nodes) reliés par un réseau fiable et rapide.

Haute disponibilité

Une application en haute disponibilité signifie qu’elle continue à fonctionner quand une partie arrête de fonctionner (dans le cadre d’Elasticsearch : quand un nœud devient injoignable par exemple).

Les mécanismes de haute disponibilité d’un cluster commencent réellement à partir de 3 nœuds : il faut 2 nœuds restants pour continuer à fonctionner sans le 3e nœud défectueux.

Santé d’un cluster / d’un indice

La santé d’un cluster ou d’un index est déterminée par trois couleurs dans Elasticsearch :

  • vert, tout va bien, la haute disponibilité fonctionne
  • jaune, il n’y a pas de redondance : si un nœud devient injoignable ou par exemple son disque casse, il y a un risque de perdre des données ou de perdre un accès à des données
  • rouge, des données sont introuvables/perdues

Elasticsearch est élastique/distribué

  • Une application distribuée a plusieurs instances (identiques ou non) qui communiquent entre elles.
  • Par exemple des noeuds Elastc contiennent chacun une partie des données :
    • On peut ajouter des noeuds et un index va automatiquement répartir les données entre les nœuds : dans Elasticsearch, on appelle ça le sharding (partition en français), les données sont copiées en plusieurs replicas.

Le scripting dans Elasticsearch

Elastic Common Schema (ECS)

  • Quand on veut optimiser le fait de donner des infos à Elasticsearch avec notre application, on exporte nos logs en JSON. ECS est simplement une façon de standardiser certains champs JSON utiles à fournir à Elasticsearch.