• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
May 2010 - Infinispan
 

May 2010 - Infinispan

on

  • 1,857 views

Infinispan - Sanne Grinovero

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

Statistics

Views

Total Views
1,857
Views on SlideShare
1,615
Embed Views
242

Actions

Likes
1
Downloads
21
Comments
0

4 Embeds 242

http://pronetics.wordpress.com 190
http://www.pro-netics.com 43
http://www.slideshare.net 7
url_unknown 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    May 2010 - Infinispan May 2010 - Infinispan Presentation Transcript

    • 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
    • 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!
    • 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
    • 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
    • ● 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
    • Complicato?
    • 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" );
    • 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 );
    • 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
    • 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
    • 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!
    • 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
    • Memoria condivisa
    • Storage esterno
    • Storage esterno
    • 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 />
    • Configurazioni Avanzate Esempio: Scarlet
    • 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