Your SlideShare is downloading. ×
0
Non puoi evitare le Cloud
●   Le cloud in ogni forma
    ●   Come SaaS, PaaS, IaaS
●   Ovunque
    ●   Pubbliche: Amazon, ...
Dati sulla cloud
●   Nuovi pattern architetturali
    ●   Le macchine sono stateless, effimere
    ●   IP dinamici
    ●  ...
Soluzione: Data Grids!
●   Data Grids sono perfetti per le cloud:
    ●   Fortemente scalabili
    ●   Nessun single point...
Soluzione: Data Grids!
●   Veloci!
●   Latenza minima, uso minimale dei dischi
    ●   La memoria è due ordini di grandezz...
●   Highly scalable data grid platform
●   100% open source licensed (LGPL)
●   Based on some JBoss Cache code
    ●   But...
Complicato?
Tutti conoscono Map<?,?>
CacheManager cm = new DefaultCacheManager("infin-cfg.xml");
Cache cache1 = cm.getCache("cache1");...
Map, arricchito
CacheManager cm = new DefaultCacheManager("infi-cfg.xml");
Cache cache1 = cm.getCache("cache1");

cache1.a...
Caratteristiche
●   Strutture interne efficienti
    ●   CAS totale
    ●   Synchronized assente
    ●   Contenitori di da...
Ereditati da JBoss Cache
●   JTA transactions
●   Replicated data structure
●   Eviction, cache persistence
●   Notificati...
Nuove funzioni
●   Consistent hash based data distribution
●   Map API semplicissima (JSR-107 compliant)
●   modulo compat...
Cache distribuita
●   Consistent hash based data distribution
    ●   Permette di scalare su cluster grandi
    ●   Test i...
Memoria condivisa
Storage esterno
Storage esterno
Configurazioni Avanzate

<?xml version="1.0" encoding="UTF-8"?>
<infinispan
      xmlns:xsi="http://www.w3.org/2001/XMLSch...
Configurazioni Avanzate




    Esempio: Scarlet
Come partecipare?
●   Provalo!
●   Segnala problemi: non solo nel codice
●   Suggerisci nuove feature
●   Testa i tuoi cas...
May 2010 - Infinispan
May 2010 - Infinispan
Upcoming SlideShare
Loading in...5
×

May 2010 - Infinispan

1,442

Published on

Infinispan - Sanne Grinovero
29/05/2010 - Jug Sardegna - JBoss User Group Roma

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,442
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "May 2010 - Infinispan"

  1. 1. Non puoi evitare le Cloud ● Le cloud in ogni forma ● Come SaaS, PaaS, IaaS ● Ovunque ● Pubbliche: Amazon, Google, GoGrid, RackSpace ● Private: Eucalyptus, VMWare, IBM ● Datacenter tradizionali ● Mercato di nicchia ● Le cloud come mainstream
  2. 2. Dati sulla cloud ● Nuovi pattern architetturali ● Le macchine sono stateless, effimere ● IP dinamici ● Servizi dinamici ● Database sono problematici ● Storage tradizionali non si adattano alla cloud ● Scalabilità ● I database sono ancora il bottleneck ● ...e single point of failure!
  3. 3. Soluzione: Data Grids! ● Data Grids sono perfetti per le cloud: ● Fortemente scalabili ● Nessun single point of failure ● Si adatta ai nodi effimeri ● Latenza molto bassa ● Data Grids: ● Amazon SimpleDB usa Dynamo ● Infinispan, etc.. ● Altre offerte commerciali e open source
  4. 4. Soluzione: Data Grids! ● Veloci! ● Latenza minima, uso minimale dei dischi ● La memoria è due ordini di grandezza più veloce ● Accesso concorrente ottimizzato ● IO su disco è sempre un impedimento alla concorrenza ● La memoria è più adatta all'uso concorrente
  5. 5. ● Highly scalable data grid platform ● 100% open source licensed (LGPL) ● Based on some JBoss Cache code ● But mostly all-new! ● JBoss Cache is a clustered caching library ● Infinispan is a data grid platform ● JBoss Cache uses a tree-structured API ● Infinispan is a Map. Like JSR-107’s JCACHE
  6. 6. Complicato?
  7. 7. Tutti conoscono Map<?,?> CacheManager cm = new DefaultCacheManager("infin-cfg.xml"); Cache cache1 = cm.getCache("cache1"); Map distMap = cache1; distMap.put( "chiave", "valore" ); distMap.get( "altraChiave" ); ConcurrentMap concurrentDistMap = cm.getCache("cache2"); concurrentDistMap.replace( "k", "atteso", "nuovo" );
  8. 8. Map, arricchito CacheManager cm = new DefaultCacheManager("infi-cfg.xml"); Cache cache1 = cm.getCache("cache1"); cache1.addListener( arg0 ); cache1.putAsync( arg0, arg1 ); cache1.removeAsync( arg0 ); cache1.startBatch(); AdvancedCache advancedCache = cache1.getAdvancedCache(); advancedCache.withFlags( Flag.SKIP_REMOTE_LOOKUP ) .put( arg0, arg1 );
  9. 9. Caratteristiche ● Strutture interne efficienti ● CAS totale ● Synchronized assente ● Contenitori di dati naturalmete ordinate – Molto efficiente per gestire policy di eviction ● Serializzazione ottimizzata ● JBoss Marshalling – payloads minimali + poolable streams
  10. 10. Ereditati da JBoss Cache ● JTA transactions ● Replicated data structure ● Eviction, cache persistence ● Notifications and eventing API ● JMX reporting ● Fine-grained replication ● MVCC locking ● Non-blocking state transfer techniques ● Query API ● Custom (non-JDK) marshalling
  11. 11. Nuove funzioni ● Consistent hash based data distribution ● Map API semplicissima (JSR-107 compliant) ● modulo compatibile memcached Client/server ● REST API ● Non limitata a piattaforme JVM ● Console di management basata su JOPR ● Distributed executors ● Map/reduce programming model made easy!
  12. 12. Cache distribuita ● Consistent hash based data distribution ● Permette di scalare su cluster grandi ● Test in corso su cluster di migliaia di nodi ● Cache locale “L1” per letture migliorate ● Invalidazione distribuita ● Ribilanciamento dinamico ● Non presenta single-point-of-failure
  13. 13. Memoria condivisa
  14. 14. Storage esterno
  15. 15. Storage esterno
  16. 16. Configurazioni Avanzate <?xml version="1.0" encoding="UTF-8"?> <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config- 4.0.xsd" xmlns="urn:infinispan:config:4.0" /> <infinispan />
  17. 17. Configurazioni Avanzate Esempio: Scarlet
  18. 18. Come partecipare? ● Provalo! ● Segnala problemi: non solo nel codice ● Suggerisci nuove feature ● Testa i tuoi casi d'uso particolari ● E raccontaceli ● Collabora con lo sviluppo ● Sviluppo open e democratico ● Priorità discusse pubblicamente ● Già alcuni committer “core” esterni a Red Hat
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×