Architecture haute dispo et message queue


(bernard compo) #1

Bonjour,
j'ai des workers qui agrègent des flux d'informations en sortie j'ai un format json par enreg.

L'objectif est d'alimenter un cluster ES.
Actuellement le pipeline est direct mais j'ai 2 problèmes :

  • je n'ai pas de persistence de données
  • la montée en charge peut conduire à une perte de données.

Au niveau du worker je pensais envoyer sur un cluster Redis

  • pour le message queue
  • pour archiver les données

Faut il mettre en place entre worker et redis un cluster logstash ?
Redis peut-il fonctionner correctement pour les 2 fonctions en parallèle ? car l'objectif est de pouvoir servir de réindexation du cluster ES en cas de besoin.
Faut-il un autre cluster logstash entre Elastic et redis

Merci


(Mark Walkom) #2

Salut,
Redis est mieux utilisé comme un cache. Vous ne voulez pas l'utiliser pour la réindexation comme il est pas un magasin persistant.

L'utilisation de Logstash dépendra de votre environnement, mais il semble que ce sera un bon ajustement. Dans ce cas, vous voudrez mettre LS entre redis et votre cluster de ES.


(Alex Chauvin) #3

Bonjour,

La persistance des données servirait à palier quel soucis ? L'engorgement dans les worker ou à l'entrée de l'ES (doute) ?

Chez nous, on a mit en place un logstash simple qui fait peut de traitement (le moins possible) et pousse dans un redis qui tamponne les données. Le traitement est fait en aval par un logstash de traitement (plusieurs en mode pub/sub), ainsi c'est le redis qui éponge les problèmes de temps de traitement et de redémarrage du logstash aval lors des mises à jour des configurations.

Le redis en mode cluster assurera la solidité et la persistance des données en cas de perte d'un des noeuds.

Alex


(system) #4