Professional Open Source™




JBoss clustering solutions
Mircea Markus, JBoss R&D




                                    ...
Agenda
                              Professional Open Source




o Clustering terminology
o JBoss clustering backbone
  o...
Clustering terminology
                                                                                       Professional...
Load Balancing != Fault Tolerance
                                                              Professional Open Source

...
Load Balancing != Fault Tolerance
                                                               Professional Open Source
...
Cost of Fault Tolerance
                                                                Professional Open Source


For fau...
JGroups
                                                 Professional Open Source


o Library for reliable multicasting
o ...
JBossCache
                                               Professional Open Source

 o Replicated in memory data repositor...
PojoCache
                                  Professional Open Source



 oExtension of core cache
 oOptimised for caching ...
Where is JBossCache used?
                                              Professional Open Source


o JBoss Application Ser...
Infinispan – the future
                                              Professional Open Source



o JBossCache is now in m...
Infinispan - data persistence
                                    Professional Open Source



o Useful for
  o‘warm’ start...
Infinispan – datagrid platform
                                      Professional Open Source



o Data grid
   oUniform s...
Infinispan – async API
                                                 Professional Open Source


o New API in Infinispan...
New cool things to come!
                                  Professional Open Source



 omemcached server/clients, able to...
Upcoming SlideShare
Loading in …5
×

"JBoss clustering solutions Mission Critical Enterprise" by Mircea Markus @ eLiberatica 2009

1,912 views

Published on

This is a presentation held at eLiberatica 2009.

http://www.eliberatica.ro/2009/

One of the biggest events of its kind in Eastern Europe, eLiberatica brings community leaders from around the world to discuss about the hottest topics in FLOSS movement, demonstrating the advantages of adopting, using and developing Open Source and Free Software solutions.

The eLiberatica organizational committee together with our speakers and guests, have graciously allowed media representatives and all attendees to photograph, videotape and otherwise record their sessions, on the condition that the photos, videos and recordings are licensed under the Creative Commons Share-Alike 3.0 License.

Published in: Technology, News & Politics
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,912
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
104
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

"JBoss clustering solutions Mission Critical Enterprise" by Mircea Markus @ eLiberatica 2009

  1. 1. Professional Open Source™ JBoss clustering solutions Mircea Markus, JBoss R&D 1
  2. 2. Agenda Professional Open Source o Clustering terminology o JBoss clustering backbone o JGroups oJBossCache oPojoCache o The future – Infinispan o Q&A 2
  3. 3. Clustering terminology Professional Open Source o Scalability o I want to handle x times the number of concurrent requests than I can now o High availability o Services are accessible with reasonable (and predictable) response times at any time o E.g., 99.999 (5 Nines in Telco) o Load balancing o A way to obtain scalability and better performance by dispatching incoming requests to different servers o Session affinity (or stickiness) o Checking heart beat o Failover o Process can continue when it is re-directed to a “backup” node because the original one fails o What is the policy? Round-robin? o Fault tolerance o A service that guarantees strictly correct behavior despite system failure o Cost? 3
  4. 4. Load Balancing != Fault Tolerance Professional Open Source Load balancing is used for scalability, not for fault tolerance 4
  5. 5. Load Balancing != Fault Tolerance Professional Open Source Failover and state replication is used for fault tolerance State Replication 5
  6. 6. Cost of Fault Tolerance Professional Open Source For fault tolerance, state must be available to the failover node – Shared persistent store • Caching is a problem; need cache invalidation – Replicated state Synchronous vs. Asynchronous Replication – Reduced application responsiveness vs. chance that failover occurs before state arrives Analyze the likelihood of failure – How much fault tolerance is needed? Limit amount of replicated state – Entity data can be reconstructed – Consider keeping short term-conversational state on client • Form data from a wizard 6
  7. 7. JGroups Professional Open Source o Library for reliable multicasting o Provides o Fragmentation o Message retransmission o Flow control o Ordering o Group membership, membership change notification o LAN or WAN based o IP multicasting transport default for LAN o TCP transport default for WAN 7
  8. 8. JBossCache Professional Open Source o Replicated in memory data repository o Either locally or cluster-wide o Support for eviction of unused elements o Cache loading/storing to disk to free up memory o Chaining caches, remote caches using TcpCacheLoader o Support for JTA transactions o Listeners and notifications o JMX manageability o Multiple locking schemes (MVCC recommanded) o JGroups as a network stack 8
  9. 9. PojoCache Professional Open Source oExtension of core cache oOptimised for caching large and complex objects with relationships oObject relationships maintained, even after replication or persistence oFine-grained replication oMinimal API 9
  10. 10. Where is JBossCache used? Professional Open Source o JBoss Application Server - Clustering HTTP and EJB sessions, JPA entities o Hibernate - entity caching o SEAM - caching JSF generated content o JBoss Portal o Lucene/Hibernate Search - cluster-wide indexes o GridGain - data grid component to complement compute grid o Coming soon: – Drools - clustering rules engines – Mobicents – VOIP SIP server clustering o Many other open source and commercial projects 10
  11. 11. Infinispan – the future Professional Open Source o JBossCache is now in maintenance o simple-to-use Map interface o Replication o Total o Distribution/consistent hashing – virtually linear scalability o Transaction support enhancement - XAResource o Data eviction redesign o JSR-107 compliant o Benchmark to come! (CacheBenchmarkFramework) 11
  12. 12. Infinispan - data persistence Professional Open Source o Useful for o‘warm’ starts oSurvive server restarts oSwap data to disk to avoid OOM o Several ‘CacheStore’ implementations oJDBC oFile system oAmazon S3 (http://code.google.com/p/jclouds) oJDBM 12
  13. 13. Infinispan – datagrid platform Professional Open Source o Data grid oUniform sea of memory oSpread over several servers o Solution to database limitations oPhysical limitations oDB does not scale o “memory is the new disk, disk is the new tape” - Tim Bray 13
  14. 14. Infinispan – async API Professional Open Source o New API in Infinispan, major feature for 4.0 o Hybrid between sync and async calls 14
  15. 15. New cool things to come! Professional Open Source omemcached server/clients, able to use from Python, Ruby, C++, C# oQuery API - do remote searches oMap/Reduce - pass the cache a Callable and have it execute wherever the data exists oJPA-style API. Easy migration from using a database to using the grid! oCheck it out here! http://www.jboss.org/infinispan 15

×