Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Ruby-on-Infinispan

1.927 Aufrufe

Veröffentlicht am

Over the past year, more and more Java applications have benefited from gaining access to elastic, cloud-ready, data grids thanks to Infinispan, and from now on, Ruby apps running within TorqueBox get the same benefit as well thanks to the ability of TorqueBox to talk to Infinispan Hot Rod servers. In this talk, Galder will demo the integrations between TorqueBox, which is a Ruby application plattform, and Infinispan, which is a Java based data grid plattform, highlighting the benefits for TorqueBox administrators and Ruby developers, which include, amongst others, access to highly-scalable, low-latency data store that avoids single point of failure.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Ruby-on-Infinispan

  1. 1. Thursday, November 3, 11
  2. 2. Ruby-on-Infinispan Cloud-tastic Data Grids for Ruby apps Galder Zamarreño Senior Software Engineer Red Hat, Inc Thursday, November 3, 11
  3. 3. Galder Zamarreño • R&D Engineer, Red Hat Inc. • Infinispan developer • Work on various JBoss projects • Twitter: @galderz • Blog: zamarreno.com Thursday, November 3, 11
  4. 4. Agenda • What is TorqueBox? • Rails caching limitations • What is Infinispan? • TorqueBoxStore • Cloud storage with Infinispan Thursday, November 3, 11
  5. 5. What is TorqueBox? The mating of JRuby to JBoss Application Server Thursday, November 3, 11
  6. 6. What is TorqueBox? Thursday, November 3, 11
  7. 7. Goals of TorqueBox • Support Ruby web frameworks • Rails, Sinatra, Rack • Go beyond web • Messaging • Enterprise-Grade Caching • Data Grid Storage Thursday, November 3, 11
  8. 8. Hmmm, but... ... Rails already supports caching ... and why would I want to store data in a data grid? Thursday, November 3, 11
  9. 9. What’s wrong with Rails caching? Thursday, November 3, 11
  10. 10. Caches are OK Actually, action and fragment caches are useful in production but they don’t cover all needs Thursday, November 3, 11
  11. 11. Cache Stores Choice provided by Rails is a bit limited... Thursday, November 3, 11
  12. 12. MemoryStore Does not share cache contents and is not concurrent-safe Thursday, November 3, 11
  13. 13. MemCacheStore Caches in Danga’s Memcached servers Probably the most popular option in production Thursday, November 3, 11
  14. 14. MemCacheStore Do you really need a separate process for a cache? Cache operations not local... Thursday, November 3, 11
  15. 15. TorqueBoxStore Brand new store! Integrates with Infinispan, a data grid platform from JBoss Thursday, November 3, 11
  16. 16. Introducing Thursday, November 3, 11
  17. 17. What is Infinispan? An in-memory, highly available, elastic, and open source (LGPL) data grid platform Thursday, November 3, 11
  18. 18. Clustered Consistency achieved via invalidation, replication and distribution modes Thursday, November 3, 11
  19. 19. API Map-like key/value store and JPA layer via Hibernate OGM Thursday, November 3, 11
  20. 20. Embedded Access Thursday, November 3, 11
  21. 21. Remote Access •Via protocols : •REST •Hot Rod Thursday, November 3, 11
  22. 22. And more... • Highly concurrent with MVCC locking • Persistence, not just in-memory • Adaptive eviction and expiration • JMX and RHQ server monitoring • ...etc Thursday, November 3, 11
  23. 23. Why should I use TorqueBoxStore? Thursday, November 3, 11
  24. 24. TorqueBoxStore Provides a local, in-memory, highly-concurrent, clustered cache Thursday, November 3, 11
  25. 25. config/application.rb Thursday, November 3, 11
  26. 26. Default Cache Mode When TorqueBox clustered, it uses Invalidation, otherwise it’s just Local Thursday, November 3, 11
  27. 27. Beyond Rails Caching... Thursday, November 3, 11
  28. 28. Durable Counters Thursday, November 3, 11
  29. 29. Enough of caching... Thursday, November 3, 11
  30. 30. What’s all about data grid storage? Thursday, November 3, 11
  31. 31. Traditional 3-tier App Thursday, November 3, 11
  32. 32. Typical IaaS App Thursday, November 3, 11
  33. 33. Traditional PaaS App Thursday, November 3, 11
  34. 34. Where’s your data stored?? Thursday, November 3, 11
  35. 35. Clouds are ephemeral!! Thursday, November 3, 11
  36. 36. State Thursday, November 3, 11
  37. 37. Virtualizing Data Some public services exist (i.e. Amazon RDS), but not all cloud deployments are public! Thursday, November 3, 11
  38. 38. Characteristics of DaaS Elastic, scalable and highly available! Thursday, November 3, 11
  39. 39. DaaS with Infinispan Thursday, November 3, 11
  40. 40. Architecture ManageandMonitor Thursday, November 3, 11
  41. 41. What are those Infinispan nodes?? Thursday, November 3, 11
  42. 42. Either • Infinispan Hot Rod servers started via: • or servlet container w/ Infinispan REST war • or JBoss Enterprise Data Grid nodes Thursday, November 3, 11
  43. 43. How do Ruby apps talk to them? Thursday, November 3, 11
  44. 44. Talk to Infinispan REST Thursday, November 3, 11
  45. 45. Hmm, Hot Rod is a custom protocol... Thursday, November 3, 11
  46. 46. JRuby Hot Rod client github.com/noelo/hotrod-jruby.git Thursday, November 3, 11
  47. 47. What’s next? Thursday, November 3, 11
  48. 48. Roadmap ActiveModel backend that stores stuff in Infinispan data grid nodes Thursday, November 3, 11
  49. 49. Summary TorqueBoxStore: in-memory, clustered & highly concurrent Rails and low level caching! Thursday, November 3, 11
  50. 50. Summary Infinispan servers: distributed, elastic and highly available cloud-ready store Thursday, November 3, 11
  51. 51. Questions? torquebox.org - infinispan.org #torquebox #infinispan on IRC @torquebox - @infinispan speakerrate.com/galder Thursday, November 3, 11

×