SlideShare uma empresa Scribd logo
1 de 31
Comment l’architecture événementielle 
révolutionne la communication dans le SI 
@MeeticTech
Euh… Vous êtes qui, d’abord ? 
Vincent LEPOT 
Architecte logiciel, R&D 
@neozibok 
Olivier DUFOUR 
Ingénieur, IT CRM
Comment l’architecture événementielle révolutionne la communication dans le SI 
➔ Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
➔ Notre architecture historique 
➔ Notre cible: tout est événement ! 
➔ Les points d’attention 
➔ Les next steps
Un peu de contexte fonctionnel 
(ou pourquoi vouloir passer plein de temps pour changer d’architecture 
événementielle ?)
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
Et puis un jour... 
Et sinon, on pourrait avoir une 
interaction avec une publication d’un 
membre ? 
Genre “liker” sa photo, son 
annonce, ses hobbies,... ?
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
Et puis un autre jour... 
Et moi, j’aimerais bien pouvoir 
améliorer les algorithmes de 
recommandation entre les profils en 
utilisant les interactions, les 
affichages, le sens du vent… en 
temps quasi réel, ce serait top !
Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie 
Et si on en 
profiter pour aller 
même encore 
plus loin ?...
L’architecture historique 
“Ça me fait penser un peu à un vieux jeu : The Incredible Machine” - V.Lepot
L'architecture historique 
Site web 
Fetch 
Decide 
Execute 
WS 
Opt-ins 
Onlines 
Mobiles 
... 
Event type 
ID sender 
ID receiver 
Date/time
L'architecture historique 
Néanmoins, ça fonctionne très bien comme ça depuis des années ! 
Problèmes liés à cette solution 
➔ Home made et peu maintenue : les compétences techniques ont été perdues 
➔ Une souplesse… hum... limitée 
➔ Ne peut traiter que des interactions entre membres
Notre cible
Notre cible 
Visites Flashs 
Mises en 
favori 
Messages 
... 
Connexions Inscriptions 
Modifs de 
profil 
Géoloc’ 
... 
... 
... 
... 
... ... 
... 
... 
... 
... 
... 
... 
... 
... 
... 
... 
... 
...
Notre cible 
Bus d’événements d’entreprise 
Sites web 
Tracking 
Apps mobile 
Notifications 
Moteurs de 
recherche 
Graphes 
Détection de 
Scoring et fraude 
algorithmie
Notre cible - Notre choix 
Apache Kafka 
High throughput Distributed Durable
Notre cible - Comment ça marche, Kafka ? 
Producteur 
Topic 
Partition Partition Partition 
Consommateur 
Consommateur 
Consommateur 
groupe A 
groupe A 
groupe A 
Consommateur 
groupe B 
Consommateur 
groupe B 
Consommateur 
groupe B
Les points d’attention
Les points d’attention 
✔ 
✘ 
Zookeeper fonctionne sur un principe de quorum, nécessitant un nombre 
impair de votants.
Les points d’attention 
Data center 1 Data center 2 
Zookeeper s’inscrit mal dans une configuration à 2 Datacenters Actif/Actif 
=> On a un risque en cas de perte d’un DC ou d’un split brain
Intégration avec PHP 
=> Interface REST pour les producteurs 
=> Scala/Akka pour les consommateurs 
Les points d’attention
Stabilité ? (protocole, plateforme,...) 
Les points d’attention 
Néanmoins: 
➔ pas de plantage depuis la mise en service 
➔ le cluster est toujours resté cohérent (pas de perte de données) même après avoir été “brusqué”
Les next steps
SI CRM
SPAM = envoi en masse d’offres sur tous les canaux 
CRM = envoi de la meilleur offre au meilleur moment sur le(s) meilleur(s) canal(aux) 
SI CRM
Intégration SI CRM 
Architecture actuel: l'évènement déclenche un envoi sur l’ensemble des canaux 
Email 
CRM MTA Email 
Sites web 
& 
Service client 
& 
Paiement 
filtrer les optouts 
A/B testing 
Capping 
BAL 
CRM MTA BAL 
MTA push 
Push
Faisons tomber 
les murs
Intégration SI CRM 
architecture cible: 
Bus 
d’événements 
(kafka) 
Sites web 
Paiement 
Service client 
event 
event 
event 
CRM 
Choix du canal de 
communication 
filtrer les optouts 
A/B testing 
Capping 
MTA 
Personnalisation 
envoi du 
message 
Existant 
A construire
Scoring et algorithmie 
=> Calcul distribué temps réel (ex: Spark) ou par traitement (ex: hadoop) 
➢ Segmentation & scoring (offres, packs, remises, appétence par canal) 
➢ Personnalisation et amélioration des résultats de recherche et des sélections de profils
Plein d’autres applications possibles... 
Indexation du moteur de recherche (ex:elasticsearch, splunk,...) 
Mise à jour de la base graphe (ex: neo4j) 
Détection de scam 
Tracking 
... 
!
Merci !

Mais conteúdo relacionado

Mais procurados

La Gestion multi-sociétés - Sage 1000 FRP V6
La Gestion multi-sociétés - Sage 1000 FRP V6La Gestion multi-sociétés - Sage 1000 FRP V6
La Gestion multi-sociétés - Sage 1000 FRP V6Sage france
 
Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Nazih Heni
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebHarrathi Mohamed
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservicesRiadh MNASRI
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - Aprilconfluent
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureStefan Norberg
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Saâd Zerhouni
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesBee_Ware
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
conception et realisation PFE
conception et realisation PFEconception et realisation PFE
conception et realisation PFEAlàa Assèli
 
Présentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinalePrésentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinaleMaroua Bouhachem
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
 
Conception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceConception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceAHMEDBELGHITH4
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012jedjenderedjian
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Ramzi Noumairi
 

Mais procurados (20)

La Gestion multi-sociétés - Sage 1000 FRP V6
La Gestion multi-sociétés - Sage 1000 FRP V6La Gestion multi-sociétés - Sage 1000 FRP V6
La Gestion multi-sociétés - Sage 1000 FRP V6
 
Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
Partner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - AprilPartner Connect APAC - 2022 - April
Partner Connect APAC - 2022 - April
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuelles
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
conception et realisation PFE
conception et realisation PFEconception et realisation PFE
conception et realisation PFE
 
Présentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinalePrésentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinale
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Conception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceConception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerce
 
Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012Soutenance de fin d’étude promotion srs 2012
Soutenance de fin d’étude promotion srs 2012
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 

Destaque

Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache ZookeeperMichaël Morello
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignMichael Noll
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperRahul Jain
 
NON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion PubliqueNON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion PubliqueAssociation Vent des Sources
 
L Imposture Eolienne
L Imposture EolienneL Imposture Eolienne
L Imposture Eoliennecedpictures
 
Les sites de rencontres
Les sites de rencontresLes sites de rencontres
Les sites de rencontresNadir Rien
 
Transition Agile 4 Real @Meetic
Transition Agile 4 Real @MeeticTransition Agile 4 Real @Meetic
Transition Agile 4 Real @Meetictdiavet
 
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réelAnaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réelMarkelys Interactive, Propulseurs.com
 
Stratégie digitale de Meetic
Stratégie digitale de MeeticStratégie digitale de Meetic
Stratégie digitale de MeeticCamille Durand
 
Le développement éolien en Wallonie
Le développement éolien en WallonieLe développement éolien en Wallonie
Le développement éolien en WallonieThe Smart Company
 
LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION Hajar Otmani
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormParis_Storm_UG
 
Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...Michel GOUGOU
 
Distributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache KafkaDistributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache KafkaJay Kreps
 

Destaque (20)

Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache Zookeeper
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and Zookeeper
 
NON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion PubliqueNON aux éoliennes à Sepvret - Présentation Réunion Publique
NON aux éoliennes à Sepvret - Présentation Réunion Publique
 
kafka
kafkakafka
kafka
 
L Imposture Eolienne
L Imposture EolienneL Imposture Eolienne
L Imposture Eolienne
 
Ben Broeckx
Ben BroeckxBen Broeckx
Ben Broeckx
 
Les sites de rencontres
Les sites de rencontresLes sites de rencontres
Les sites de rencontres
 
PréSentation Tpe
PréSentation TpePréSentation Tpe
PréSentation Tpe
 
Transition Agile 4 Real @Meetic
Transition Agile 4 Real @MeeticTransition Agile 4 Real @Meetic
Transition Agile 4 Real @Meetic
 
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réelAnaé - Communication événementielle et Web 2.0, le virtuel au service du réel
Anaé - Communication événementielle et Web 2.0, le virtuel au service du réel
 
Stratégie digitale de Meetic
Stratégie digitale de MeeticStratégie digitale de Meetic
Stratégie digitale de Meetic
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Le développement éolien en Wallonie
Le développement éolien en WallonieLe développement éolien en Wallonie
Le développement éolien en Wallonie
 
LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION LA STRATEGIE DE COMMUNICATION
LA STRATEGIE DE COMMUNICATION
 
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec StormApache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec Storm
 
Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...Enjeux de la communication événementielle pour le positionnement d’un produit...
Enjeux de la communication événementielle pour le positionnement d’un produit...
 
Distributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache KafkaDistributed Stream Processing with Apache Kafka
Distributed Stream Processing with Apache Kafka
 

Semelhante a Comment l’architecture événementielle révolutionne la communication dans le SI @Meetic

L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies2.0 Mode d'emploi Technologies
2.0 Mode d'emploi TechnologiesGiroud Marie
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 
Webinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientWebinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientBizagi
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Microsoft Technet France
 
PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110Claire Bourget, MBA
 
Présentation opinions web fr_071220110
Présentation opinions web fr_071220110Présentation opinions web fr_071220110
Présentation opinions web fr_071220110Claire Bourget, MBA
 
Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020François
 
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...Soumaya Toumi
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Jss 2015 Stream Analytics
Jss 2015   Stream AnalyticsJss 2015   Stream Analytics
Jss 2015 Stream AnalyticsMichel HUBERT
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics GUSS
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft Stream analyticsGeorges Damien
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 MinutesMicrosoft
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprisemastertic
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprisemastertic
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprisemastertic
 
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...Oxalide
 

Semelhante a Comment l’architecture événementielle révolutionne la communication dans le SI @Meetic (20)

2.0 TEchnologies
2.0 TEchnologies2.0 TEchnologies
2.0 TEchnologies
 
T
TT
T
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
Webinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas clientWebinar Bizagi BPM - Etude de cas client
Webinar Bizagi BPM - Etude de cas client
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
 
PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110
 
Présentation opinions web fr_071220110
Présentation opinions web fr_071220110Présentation opinions web fr_071220110
Présentation opinions web fr_071220110
 
Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020Tock & Mélusine REX IA Open Source #AIParis 2020
Tock & Mélusine REX IA Open Source #AIParis 2020
 
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
#Chatbots : Repenser la relation Clients et Employés avec les technologies #A...
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Jss 2015 Stream Analytics
Jss 2015   Stream AnalyticsJss 2015   Stream Analytics
Jss 2015 Stream Analytics
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft Stream analytics
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprise
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprise
 
Le Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entrepriseLe Web comme plateforme TIC pour l'entreprise
Le Web comme plateforme TIC pour l'entreprise
 
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
 

Comment l’architecture événementielle révolutionne la communication dans le SI @Meetic

  • 1. Comment l’architecture événementielle révolutionne la communication dans le SI @MeeticTech
  • 2. Euh… Vous êtes qui, d’abord ? Vincent LEPOT Architecte logiciel, R&D @neozibok Olivier DUFOUR Ingénieur, IT CRM
  • 3. Comment l’architecture événementielle révolutionne la communication dans le SI ➔ Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie ➔ Notre architecture historique ➔ Notre cible: tout est événement ! ➔ Les points d’attention ➔ Les next steps
  • 4. Un peu de contexte fonctionnel (ou pourquoi vouloir passer plein de temps pour changer d’architecture événementielle ?)
  • 5. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie
  • 6. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie Et puis un jour... Et sinon, on pourrait avoir une interaction avec une publication d’un membre ? Genre “liker” sa photo, son annonce, ses hobbies,... ?
  • 7. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie Et puis un autre jour... Et moi, j’aimerais bien pouvoir améliorer les algorithmes de recommandation entre les profils en utilisant les interactions, les affichages, le sens du vent… en temps quasi réel, ce serait top !
  • 8. Contexte fonctionnel - Les événements chez Meetic : flashs, visites et compagnie Et si on en profiter pour aller même encore plus loin ?...
  • 9. L’architecture historique “Ça me fait penser un peu à un vieux jeu : The Incredible Machine” - V.Lepot
  • 10.
  • 11. L'architecture historique Site web Fetch Decide Execute WS Opt-ins Onlines Mobiles ... Event type ID sender ID receiver Date/time
  • 12. L'architecture historique Néanmoins, ça fonctionne très bien comme ça depuis des années ! Problèmes liés à cette solution ➔ Home made et peu maintenue : les compétences techniques ont été perdues ➔ Une souplesse… hum... limitée ➔ Ne peut traiter que des interactions entre membres
  • 14. Notre cible Visites Flashs Mises en favori Messages ... Connexions Inscriptions Modifs de profil Géoloc’ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
  • 15. Notre cible Bus d’événements d’entreprise Sites web Tracking Apps mobile Notifications Moteurs de recherche Graphes Détection de Scoring et fraude algorithmie
  • 16. Notre cible - Notre choix Apache Kafka High throughput Distributed Durable
  • 17. Notre cible - Comment ça marche, Kafka ? Producteur Topic Partition Partition Partition Consommateur Consommateur Consommateur groupe A groupe A groupe A Consommateur groupe B Consommateur groupe B Consommateur groupe B
  • 19. Les points d’attention ✔ ✘ Zookeeper fonctionne sur un principe de quorum, nécessitant un nombre impair de votants.
  • 20. Les points d’attention Data center 1 Data center 2 Zookeeper s’inscrit mal dans une configuration à 2 Datacenters Actif/Actif => On a un risque en cas de perte d’un DC ou d’un split brain
  • 21. Intégration avec PHP => Interface REST pour les producteurs => Scala/Akka pour les consommateurs Les points d’attention
  • 22. Stabilité ? (protocole, plateforme,...) Les points d’attention Néanmoins: ➔ pas de plantage depuis la mise en service ➔ le cluster est toujours resté cohérent (pas de perte de données) même après avoir été “brusqué”
  • 25. SPAM = envoi en masse d’offres sur tous les canaux CRM = envoi de la meilleur offre au meilleur moment sur le(s) meilleur(s) canal(aux) SI CRM
  • 26. Intégration SI CRM Architecture actuel: l'évènement déclenche un envoi sur l’ensemble des canaux Email CRM MTA Email Sites web & Service client & Paiement filtrer les optouts A/B testing Capping BAL CRM MTA BAL MTA push Push
  • 28. Intégration SI CRM architecture cible: Bus d’événements (kafka) Sites web Paiement Service client event event event CRM Choix du canal de communication filtrer les optouts A/B testing Capping MTA Personnalisation envoi du message Existant A construire
  • 29. Scoring et algorithmie => Calcul distribué temps réel (ex: Spark) ou par traitement (ex: hadoop) ➢ Segmentation & scoring (offres, packs, remises, appétence par canal) ➢ Personnalisation et amélioration des résultats de recherche et des sélections de profils
  • 30. Plein d’autres applications possibles... Indexation du moteur de recherche (ex:elasticsearch, splunk,...) Mise à jour de la base graphe (ex: neo4j) Détection de scam Tracking ... !