Aller au contenu
AFUP AFUP Day 2025 Baromètre Planète PHP PUFA
 

19 millions de recherches par jour @ Meetic

Description

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.

Conférence donnée lors du Forum PHP 2017, ayant eu lieu les 26 et 27 octobre 2017.

Informations complémentaires

Vidéo

Le speaker

Sébastien LE GALL

Tech Lead Back-end @ Meetic

Commentaires

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 !
Olivier Mansour, le 27/10/2017
Talk dynamique et très intéressant sur ce qui a été mis en place.
Sébastien Rogier, le 30/10/2017
Très intéressant, merci
Benoit Viguier, le 30/10/2017
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 !
Mathieu Santostefano, le 30/10/2017