terracotta jug

Download Terracotta jug

Post on 04-Jul-2015

614 views

Category:

Documents

5 download

Embed Size (px)

TRANSCRIPT

  • 1. Zenika 2010 1 Terracotta

2. Zenika 2010 2 ProblmatiqueProblmatique Des clients toujours plus exigeants Demande croissante En puissance de calcul applications financires, calcul scientifique... En taille des donnes manipules Catalogues produits (Amazon, Walmart...) Statistiques, reporting... Ncessit de dployer des clusters 3. Zenika 2010 3 ProblmatiqueProblmatique Problmatiques d'architecture Synchronisation des noeuds : Compromis intgrit / performance Stratgies : rplication, broadcast invalidation... Rsilience aux pannes : Une ferme de petites machines jetables est moins coteuse qu'un gros systme Mais leur mmoire locale est volatile 4. Zenika 2010 4 ProblmatiqueProblmatique Solution traditionnelle : Clients stateless Donnes scurises en base de donnes, y compris les donnes temporaires BDD obse et engorgement rseau 5. Zenika 2010 5 ProblmatiqueProblmatique Problmatiques de programmation Les applications deviennent plus complexes : Mono-thread : facile programmer Multi-thread : synchronisation ncessaire, mais JMM respect Cluster : JMM non respect Rcriture / rarchitecture ncessaire pour intgrer des frameworks de clustering ou du code custom 6. Zenika 2010 6 TerracottaTerracotta Terracotta Prsentation Use-cases principaux Architecture Deux modes de fonctionnement La plateforme DSO Les TIMs Les produits Scalabilit L'outillage 7. Zenika 2010 7 TerracottaTerracotta Prsentation "Java Clustered Edition" Network Attached Memory partage et synchronisation d'une zone mmoire entre les JVM Synchronisation des threads sur le cluster Garantit l'application du JMM sur l'ensemble du cluster Locks Visibilit Happens before 8. Zenika 2010 8 TerracottaTerracotta Use-cases principaux Clustering de sessions HTTP Clustering de caches (EHCache, Hibernate L2...) Grilles de calcul type master/worker Synchronisation d'applications (smaphores, latches...) 9. Zenika 2010 9 TerracottaTerracotta Architecture Serveur : Gre la synchronisation des clients (donnes et locks) Sauvegarde la mmoire dans une base locale (BerkeleyDB) Utilise un Distributed Garbage Collector pour nettoyer la mmoire partage Clients (JVMs) : Utilisent un Bootjar ou un Agent Terracotta pour communiquer avec le serveur Accdent la zone mmoire partage de manire transparente 10. Zenika 2010 10 TerracottaTerracotta 11. Zenika 2010 11 TerracottaTerracotta 12. Zenika 2010 12 TerracottaTerracotta Deux modes de fonctionnement Identity Instrumentation des classes Synchronise les deltas d'objets uniquement Fonctionne sur des objets non Serializable requiert un bootjar et de la configuration XML Express Utilise la srialisation Java standard Synchronise les graphes entiers d'objets Serializable Plus simple utiliser 13. Zenika 2010 13 TerracottaTerracotta La plateforme DSO Configure via tc-config.xml Roots Racines des graphes d'objets partager Locks Rutilisation des locks prsents dans le code Ou locking externe, dclaratif (pour configurer du code tiers) Tims Terracotta Integration Modules 14. Zenika 2010 14 com.zenika.terracotta.model..* write * com.zenika.terracotta.model..*.*(..) 15. Zenika 2010 15 TerracottaTerracotta Les TIMs Fragments de configuration packags et rutilisables Disponibles pour la majorit des serveurs et frameworks : Tomcat, Spring, Ehcache, Wicket... Facile de crer un Tim personnalis, pour un framework maison par exemple Plugin Maven 16. Zenika 2010 16 TerracottaTerracotta Les produits Session clustering : clusterise les maps des sessions EHCache : assure l'intgrit du cache sur le cluster et une rplication efficace. Hibernate 2nd level cache Quartz scheduling : permet de synchroniser et de garantir l'excution des jobs 17. Zenika 2010 17 18. Zenika 2010 18 TerracottaTerracotta Scalabilit Monte en charge quasi-linaire Plus de puissance de calcul : augmenter le nombre de clients (serveurs web...) Plus de donnes manipules : augmenter le nombre de serveurs Terracotta Choisir la bonne distribution Terracotta: Terracotta DX : opensource, serveurs en mode actif / passif, console de dveloppement Terracotta EX : + support Terracotta FX : + server array, go-live pack, console d'oprations 19. Zenika 2010 19 20. Zenika 2010 20 L'outillage Dev-console Plugin Eclipse 21. Zenika 2010 21 L'outillage 22. Zenika 2010 22 ConclusionConclusion Bnfices Clustering as a platform service : transparent pour le programmeur Monte en charge linaire par configuration Simple d'utilisation grce aux Produits Bien outill Console de dveloppement Plugin Eclipse 23. Zenika 2010 23 ConclusionConclusion Terracotta everywhere Des clients prestigieux : Sabre, Walmart, Monster... Et vous ? Risque zro car non intrusif 24. Zenika 2010 24 Questions ?