Keeping Infinispan In Shape: Highly-Precise, Scalable Data Eviction
Infinispan – the open source data grid platform by Mircea Markus
-
Upload
codemotion -
Category
Technology
-
view
818 -
download
2
description
Transcript of Infinispan – the open source data grid platform by Mircea Markus
Saturday, 23 March 13
Infinispan - the open source data grid platform
•Mircea Markus
Saturday, 23 March 13
Who’s this guy?
•JBoss clustering: JBossCache, JGroups•Lead Infinispan•JSR-350 •@infinispan/@mirceamarkus•infinispan.blogspot.com
Saturday, 23 March 13
Agenda•What is Infinispan•API•Key features•4 use cases
Saturday, 23 March 13
What is Infinispan?•Distributed, in memory, data structure•Highly available•Elastic•Open source
Saturday, 23 March 13
Distributed data structure
Storage Engine (RAM
+Overflow)
Transaction
Query
Map/Reduce
Monitoring
Transport (JGroups)
Memcached Hotrod Rest
Node (JVM process)
Storage Engine (RAM
+Overflow)
Transaction
Query
Map/Reduce
Monitoring
Transport (JGroups)
Memcached Hotrod Rest
Node (JVM process)
TCP/UDP
RemoteClient
TCPTCP
Saturday, 23 March 13
High availability•Memory is volatile•Make redundant copies
•Total replication (Replication Mode)•Partial replication (Distribution Mode)
•numOwners•Topology changes
•Node will crash!•Re-arrange state
Saturday, 23 March 13
Elasticity•Expect
•Node additions•Node removals
•Topology changes •are totally consistent•do not "stop the world"
Saturday, 23 March 13
API•Key-value store
•java.util.concurrent.ConcurrentHashMap•JSR-107 compliant•CDI support
Saturday, 23 March 13
Key features•Transactions•Persistence•Map/Reduce•Querying
Saturday, 23 March 13
Transactions•JTA transactions support
•XA or Synchronization based enlistment•recovery!
•Local transactions (batching)•Transactional modes
•optimistic •pessimistic
Saturday, 23 March 13
Persistence/Cache Store•Used for
•durability•increased storage•warm caches
•Various implementations•jdbc, bdbje, file, cloud, remote/infinispan, cassandra
•Extensible
Saturday, 23 March 13
Map/Reduce example
Saturday, 23 March 13
Map/Reduce
Saturday, 23 March 13
Map/Reduce
Saturday, 23 March 13
Querying•Based on Hibernate Search/Lucene•Objects in the grid are indexed
•index management
Saturday, 23 March 13
Use cases•Local cache•Cluster of caches•Autonomous data store
•access protocols•Geographical failover
Saturday, 23 March 13
Local cache
Saturday, 23 March 13
Features of a local cache•Eviction•Expiry•Write through, write behind•Preloading•Notifications•Statistics
Saturday, 23 March 13
Local cache not good enough...
Saturday, 23 March 13
Cluster of caches
Saturday, 23 March 13
Some limitations still•Client is affected by cache topology changes•Shared resources•Tier management
•incompatible JVM tuning•security•garbage collection
•Non-JVM clients
Saturday, 23 March 13
Cache servers
Saturday, 23 March 13
Client/Server protocols•REST•Memcached•Hotrod
•proprietary•java, C#, python, ruby•others on the way..
Saturday, 23 March 13
Geographic failover
Infinispan Node
Infinispan Node
Infinispan ClusterInfinispan
Node
London
Infinispan Node
Infinispan Node
Infinispan ClusterInfinispan
Node
New York(Active)
Infinispan Node
Infinispan Node
Infinispan ClusterInfinispan
Node
San Francisco
Migrate Data
Migrate Data
Migrate Data
Saturday, 23 March 13
JBoss Data Grid (JDG)
•JBoss Data Grid•Build on top of Inifinispan•http://www.jboss.com/edg
Saturday, 23 March 13
Thank you!•infinispan.blogspot.com•@infinispan•mirceamarkus.blogspot.com•@mirceamarkus
Saturday, 23 March 13