0
galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Infinispan Servers:
                                                Beyond Peer-to-Peer
                                  ...
Who is Galder?

                            • R&D engineer (Red Hat Inc):
                              • Infinispan devel...
Agenda


                            • Introduction to Infinispan
                            • Peer-to-peer (P2P) data gr...
What is Infinispan?

                            • A data grid platform which is:
                              • Open Sou...
Brief feature overview
                            • Seamless data distribution, linearly scalable data structures
       ...
Peer-to-Peer Setup




                                     galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursda...
Non-JVM access




                                   galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, Oct...
Elasticity problems with P2P




                                          galder@jboss.org | twitter.com/galderz | zamarr...
Client-Server brings Elasticity




                                           galder@jboss.org | twitter.com/galderz | za...
Data Grid per Application?




                                         galder@jboss.org | twitter.com/galderz | zamarreno...
Shared Data Grid




                                    galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, ...
Independent Tier Management


                            •   Independently deploy new
                                app...
Infinispan Server Modules


                            •   Protocols supported in 4.1 :
                                •...
REST Server


                            •   RESTful HTTP access
                            •   HTTP PUT/POST to store
 ...
REST Server via Python




                                       galder@jboss.org | twitter.com/galderz | zamarreno.com
T...
Memcached not good enough




                                        galder@jboss.org | twitter.com/galderz | zamarreno.c...
Infinispan Memcached




                                      galder@jboss.org | twitter.com/galderz | zamarreno.com
Thur...
Routing not so smart




                                      galder@jboss.org | twitter.com/galderz | zamarreno.com
Thur...
Essential Information


                            •   To run, execute:
                                • startServer.sh ...
Hot Rod to the rescue!

                            •   What is Hot Rod?
                                •   Wire protocol...
Dynamic routing with Hot Rod




                                          galder@jboss.org | twitter.com/galderz | zamarr...
Smart routing with Hot Rod




                                         galder@jboss.org | twitter.com/galderz | zamarreno...
Essential Information

                            •   To run:
                                • startServer.sh    -r hotr...
Java Hot Rod Client

                            //API entry point, by default it connects to localhost:11311
            ...
Websocket Server


                            •   Exposes Infinispan Cache
                                instance over ...
Server Comparison




                                    galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday,...
The path ahead

                            • Hot Rod improvements:
                              • Remote querying
      ...
Prototype Hot Standby Demo




                         Demo available in:
             github.com/galderz/infinispan-inte...
Summary


                            • Accessing data grids in client-server mode makes sense
                           ...
Questions?

                            infinispan.org
                            blog.infinispan.org
                   ...
Upcoming SlideShare
Loading in...5
×

Infinispan Servers: Beyond peer-to-peer data grids

2,953

Published on

In this session, Infinispan developer Galder Zamarreño will:

- Provide a brief introduction to peer-to-peer and client/server architectures.

- Describe the benefits of using Infinispan in a client/server mode, particularly in cloud-style environments.

- Introduce the audience to Infinispan’s selection of server modules that provide varied access methods: REST and WebSocket for HTTP access, Memcached protocol access and Hot Rod, Infinispan’s very own highly efficient binary protocol which supports smart-clients.

- Demonstrate an Infinispan client/server example showing how geographically separated Infinispan data grids could be linked together via Hot Rod client/server modules in order to provide different disaster recovery strategies.

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,953
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Transcript of "Infinispan Servers: Beyond peer-to-peer data grids"

  1. 1. galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  2. 2. Infinispan Servers: Beyond Peer-to-Peer Data Grids Galder Zamarreño Senior Engineer, Red Hat 7th October 2010, JUDCon - Berlin galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  3. 3. Who is Galder? • R&D engineer (Red Hat Inc): • Infinispan developer • JBoss Cache developer • Contributor and committer: • JBoss AS, Hibernate, JGroups, JBoss Portal,...etc • Blog: zamarreno.com • Twitter: @galderz galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  4. 4. Agenda • Introduction to Infinispan • Peer-to-peer (P2P) data grids vs client-server • Infinispan server comparison • The path ahead for Infinispan servers • Demo galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  5. 5. What is Infinispan? • A data grid platform which is: • Open Source (LGPL) • In-memory • Distributed • Elastic • Highly Available galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  6. 6. Brief feature overview • Seamless data distribution, linearly scalable data structures • Implicit eviction • Write through and write behind to persistent storage • JTA and XA transactions • Listeners and notifications • Querying and indexing • Alternative JPA-like API • JMX management and GUI console • Multiple endpoints for remote invocations... galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  7. 7. Peer-to-Peer Setup galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  8. 8. Non-JVM access galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  9. 9. Elasticity problems with P2P galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  10. 10. Client-Server brings Elasticity galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  11. 11. Data Grid per Application? galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  12. 12. Shared Data Grid galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  13. 13. Independent Tier Management • Independently deploy new app version • Security • Incompatible JVM tuning requirements galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  14. 14. Infinispan Server Modules • Protocols supported in 4.1 : • REST • Memcached • Hot Rod • Websocket galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  15. 15. REST Server • RESTful HTTP access • HTTP PUT/POST to store • HTTP GET to retrieve • Available since 4.0 • In ‘all’ distribution galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  16. 16. REST Server via Python galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  17. 17. Memcached not good enough galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  18. 18. Infinispan Memcached galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  19. 19. Routing not so smart galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  20. 20. Essential Information • To run, execute: • startServer.sh -r memcached • New in 4.1 • Only text protocol supported • Works with any Memcached client galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  21. 21. Hot Rod to the rescue! • What is Hot Rod? • Wire protocol for client-server communications • Open and language independent • Built-in dynamic failover and load balancing • Smart routing galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  22. 22. Dynamic routing with Hot Rod galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  23. 23. Smart routing with Hot Rod galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  24. 24. Essential Information • To run: • startServer.sh -r hotrod • New in 4.1 • Only a Java client available: • Supports smart routing and dynamic load balancing galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  25. 25. Java Hot Rod Client //API entry point, by default it connects to localhost:11311 CacheContainer cacheContainer = new RemoteCacheManager(); //obtain a handle to the remote default cache Cache<String, String> cache = cacheContainer.getCache(); //now add something to the cache and make sure it is there cache.put("car", "bmw"); assert cache.get("car").equals("bmw"); //remove the data cache.remove("car"); assert !cache.containsKey("car") : "Value must have been removed!"; galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  26. 26. Websocket Server • Exposes Infinispan Cache instance over Websocket • To run it: • startServer.sh -r websocket • Accessible via Javascript API galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  27. 27. Server Comparison galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  28. 28. The path ahead • Hot Rod improvements: • Remote querying • Event handling • Submit Hot Rod protocol to standards body (maybe) • Others: • Memcached binary protocol won’t be implemented galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  29. 29. Prototype Hot Standby Demo Demo available in: github.com/galderz/infinispan-intersite-demo galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  30. 30. Summary • Accessing data grids in client-server mode makes sense • Infinispan 4.1 comes with a range of server modules • Each server fits one type of use case • We need your help to build more Hot Rod clients! galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  31. 31. Questions? infinispan.org blog.infinispan.org twitter.com/infinispan #infinispan #judcon galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  1. A particular slide catching your eye?

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

×