SlideShare une entreprise Scribd logo
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 !

Contenu connexe

Tendances

Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API Gateway
Yohann Ciurlik
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
confluent
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
gcatt
 
Kafka 101 and Developer Best Practices
Kafka 101 and Developer Best PracticesKafka 101 and Developer Best Practices
Kafka 101 and Developer Best Practices
confluent
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Nguyen Tung
 
Terraform
TerraformTerraform
Terraform
Phil Wilkins
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
Araf Karsh Hamid
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - Observability
Araf Karsh Hamid
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container Platform
DLT Solutions
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
AIMDek Technologies
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
Kris Buytaert
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
Julien Pivotto
 
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint MonitoringGain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
InfluxData
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service Mesh
Aspen Mesh
 
Observability at Scale
Observability at Scale Observability at Scale
Observability at Scale
Knoldus Inc.
 
Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with Kubernetes
Wojciech Barczyński
 

Tendances (20)

Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API Gateway
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
Kafka 101 and Developer Best Practices
Kafka 101 and Developer Best PracticesKafka 101 and Developer Best Practices
Kafka 101 and Developer Best Practices
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Terraform
TerraformTerraform
Terraform
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - Observability
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container Platform
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint MonitoringGain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service Mesh
 
Observability at Scale
Observability at Scale Observability at Scale
Observability at Scale
 
Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with Kubernetes
 

En vedette

Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache Zookeeper
Michaël Morello
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
Rahul Jain
 
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
Ippon
 
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
Michael Noll
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and Zookeeper
Rahul 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 Publique
Association Vent des Sources
 
kafka
kafkakafka
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 rencontres
Nadir Rien
 
PréSentation Tpe
PréSentation TpePréSentation Tpe
PréSentation Tpe
juju69madmax
 
Transition Agile 4 Real @Meetic
Transition Agile 4 Real @MeeticTransition Agile 4 Real @Meetic
Transition Agile 4 Real @Meetic
tdiavet
 
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
Markelys Interactive, Propulseurs.com
 
Stratégie digitale de Meetic
Stratégie digitale de MeeticStratégie digitale de Meetic
Stratégie digitale de Meetic
Camille Durand
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
Paris Open Source Summit
 
Le développement éolien en Wallonie
Le développement éolien en WallonieLe développement éolien en Wallonie
Le développement éolien en Wallonie
The 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 Storm
Paris_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 Kafka
Jay Kreps
 

En vedette (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
 

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

2.0 TEchnologies
2.0 TEchnologies2.0 TEchnologies
2.0 TEchnologies
Giroud Marie
 
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
davrous
 
2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies2.0 Mode d'emploi Technologies
2.0 Mode d'emploi Technologies
Giroud 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 client
Bizagi
 
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_071220110
Claire Bourget, MBA
 
PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110PréSentation Opinions Web Fr 071220110
PréSentation Opinions Web Fr 071220110
Claire 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 2020
Franç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 Analytics
Michel HUBERT
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft Stream analytics
Georges Damien
 
[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
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
Microsoft
 
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
mastertic
 
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
mastertic
 
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
 

Similaire à 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
 
Jss 2015 - Microsoft Stream analytics
Jss 2015 -  Microsoft Stream analyticsJss 2015 -  Microsoft Stream analytics
Jss 2015 - Microsoft 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
 
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...
 

Dernier

Netflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagementNetflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagement
ABO IPTV PREMIUM
 
Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?
Asher256
 
Stratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blogStratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blog
Asher256
 
Riding motorbikes in country side 15
Riding motorbikes in country side 15Riding motorbikes in country side 15
Riding motorbikes in country side 15
RDM-ROW history
 
Conseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système LinuxConseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système Linux
Asher256
 
Riding motorbikes in country side 20
Riding motorbikes in country side 20Riding motorbikes in country side 20
Riding motorbikes in country side 20
RDM-ROW history
 

Dernier (6)

Netflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagementNetflix, OCS et Disney avec ou sans engagement
Netflix, OCS et Disney avec ou sans engagement
 
Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?Les logiciels libres : une opportunite pour votre entreprise?
Les logiciels libres : une opportunite pour votre entreprise?
 
Stratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blogStratégies pour accroître la visibilité et l'engagement de votre blog
Stratégies pour accroître la visibilité et l'engagement de votre blog
 
Riding motorbikes in country side 15
Riding motorbikes in country side 15Riding motorbikes in country side 15
Riding motorbikes in country side 15
 
Conseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système LinuxConseils pour mieux Sécuriser votre système Linux
Conseils pour mieux Sécuriser votre système Linux
 
Riding motorbikes in country side 20
Riding motorbikes in country side 20Riding motorbikes in country side 20
Riding motorbikes in country side 20
 

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 ... !