Le PHP chez Deezer
Jean PasdeloupSenior Software Engineer - Catalog TeamArrivé il y a 3 mois
= +
530 GB pour la base tampon d’import200 GB pour la base catalogue de production
= +
= +530 GB pour la base tampon d’import
200 GB pour la base catalogue de production
sandbox catalog
flow data
payment
user dataproductioncatalog
Providerdata
catalog
back-office
Deezer Legacy Monolithic PHP application
IOS / Android / Windows / BlackBerry
www.deezer.com
api
Fingerprint
managerpartners
payment
BO NGPayment
Analyses
Deezer NG!
Deezer Business Code (aka Korn)● Découpé en domaines● Modélisé en s’inspirant
du DDD (Domain Driven Design)
● Framework agnostic
Des applications● Point d’entrée pour
utilisateurs (BOs) ou systèmes tiers (APIs)
● Basées sur Symfony3 (mais pas obligatoire)
● Bibliothèque de bundles communs
Command Bus● Accès des applications aux
domaines uniquement via Command Bus
● Command: demande d’action
● Query: requête sans action
Principe fondamental: l’isolationIsolation “horizontale” entre les domaines fonctionnels
Isolation “verticale” entre les couches techniques
Le changement, c’est maintenant !
CONCLUSION
● Deezer c’est du PHP/MySQL depuis toujours,
● Forcément, y a du legacy...
● Mais c’est en train de devenir du beau PHP !
Continuez de nous suivre sur Twitter@deezerdevs
THANK YOU
BY THE WAY, ON RECRUTE!
Pauline [email protected]@FarinaPauline
Guillaume [email protected]
@grillatg
http://jobs.deezer.com
Lead Web EngineerSenior Backend Engineer
Web Engineeretc.