Un moteur d’indexation au pays des événements et des microservices. Comment maintenir à jour un index Elasticsearch quand le ownership des données à indexer est distribué à travers de multiples micro-services? Comment requêter un index sur la base de paramètres qui sont, eux aussi, fournis par d'autres services? Comment faire quand l’ordre de réception des messages de mise à jour de l’index n’est pas forcément l’ordre d’insertion logique des données? Pour répondre à ces questions, je raconterai l’histoire de Jon et Ygritte en suivant un ensemble de parcours utilisateurs emprunté par des millions de personnes tous les jours sur nos plateformes. Nous verrons comment orchestrer Kafka, Symfony et ElasticSearch pour répondre à une volonté de découplage des micro-services et à une problématique de maintenance en temps réel d'un index. A chaque étape, je présenterai les différentes options envisagées, nos contraintes (traffic, performance, robustesse) et les choix que nous avons fait dans une logique agile de développement itératif.

Comments

Comments are closed.

C'était clair. Merci pour le REX. J'aurais aimé avoir plus d'infos sur les modalités de mise en place et les problèmes rencontrés sur la partie event ainsi q'un retour de type force / faiblesse de la solution. Ceci dit, une très bonne conférences !

Talk dynamique et très intéressant sur ce qui a été mis en place.

Très intéressant, merci

Bon retour d'expérience sur la gestion de la recherche sur une application à fort trafic. C'est une bonne chose aussi de montrer qu'il ne faut pas à tout prix suivre un process ou une recommendation (DDD, EventSourcing ...) et que parfois, casser quelque chose dans le process peut être bon pour la bonne marche du projet, à condition de maitriser totalement le sujet. Bravo !