PROGRAMME
Jour 1
INTRODUCTION AUX ARCHITECTURES RÉACTIVES• Pourquoi un nouveau modèle de développement ?
• La remise en cause des fondations
• Les 4 piliers du manifesto :
- Orienté messages : découpage en composants qui communiquent via des messages ou des événements
- Elastique : un seul mot d’ordre, un composant peut être ajouté ou retiré
- Résilient : savoir gérer les pannes dans un système fait de nombreux microcomposants
- Responsive : priorité n°1, répondre au plus vite à l’utilisateur
L’APPROCHE MESSAGE
• Les origines
• Les nouveaux protocoles de communication (SPDY, Websocket, HTTP/2.0, etc.)
• L’évolution des langages (Java8, Scala, JavaScript, .Net, etc.)
• Les modèles de partage (fonctionnel, transaction en mémoire, acteurs, etc.)
• L’accès aux bases de données (synchrone, asynchrone, SQL/NOSQL, etc.)
RÉAGIR À LA CHARGE• Gestion des pics de charges
• Répartition horizontale (AKKA)
• Gestion de la pression
RÉAGIR AUX DYSFONCTIONNEMENTS• Les architectures tolérantes
• Les stratégies de réplications
• Les approches à bases d’acteurs (AKKA)
• Réduire la pression (back pressure)
Jour 2
RÉAGIR AUX UTILISATEURS• Les nouvelles exigences (multi devices, latences faibles, synchronisations, etc.)
• Bench des architectures réactives vs architectures classiques
LE DÉVELOPPEMENT RÉACTIF• Stratégie de développements (async, stream, rx, etc.)
• Test du code réactif (multi-thread, multi-jvm, remote, etc.)
• Qualité des applications : stratégie d’audit du système
• Mesure d’un modèle réactif
LES CRITÈRES DE CHOIX• Définition des critères de choix
• Arbre de décision
•Est-ce adapté à mes projets ?
RECOMMANDATIONS• Bénéfices attendus / reçus
• Facteurs de succès / facteurs d’échecs
SYNTHÈSE ET RÉFÉRENCES