SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
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
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
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
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
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
Peer-to-Peer Setup




                                     galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Non-JVM access




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




                                          galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Client-Server brings Elasticity




                                           galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Data Grid per Application?




                                         galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Shared Data Grid




                                    galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
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
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
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
REST Server via Python




                                       galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Memcached not good enough




                                        galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Infinispan Memcached




                                      galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Routing not so smart




                                      galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
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
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
Dynamic routing with Hot Rod




                                          galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
Smart routing with Hot Rod




                                         galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
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
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
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
Server Comparison




                                    galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010
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
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
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
Questions?

                            infinispan.org
                            blog.infinispan.org
                            twitter.com/infinispan
                                #infinispan
                                #judcon


                                                     galder@jboss.org | twitter.com/galderz | zamarreno.com
Thursday, October 7, 2010

Weitere ähnliche Inhalte

Andere mochten auch

오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan
HyeonSeok Choi
 

Andere mochten auch (20)

Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
 
Hacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQLHacking Infinispan: the new open source data grid meets NoSQL
Hacking Infinispan: the new open source data grid meets NoSQL
 
Infinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLInfinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQL
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to Production
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache Geode
 
Apache geode
Apache geodeApache geode
Apache geode
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based Replication
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data Grid
 
Building Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache GeodeBuilding Apps with Distributed In-Memory Computing Using Apache Geode
Building Apps with Distributed In-Memory Computing Using Apache Geode
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)
 
Data Grids and Data Caching
Data Grids and Data CachingData Grids and Data Caching
Data Grids and Data Caching
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 
Apache ignite Datagrid
Apache ignite DatagridApache ignite Datagrid
Apache ignite Datagrid
 
Pivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 FebPivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 Feb
 
祝 top-level project Apache Geode
祝 top-level project Apache Geode祝 top-level project Apache Geode
祝 top-level project Apache Geode
 
Hazelcast 소개
Hazelcast 소개Hazelcast 소개
Hazelcast 소개
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan
 
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
 

Ähnlich wie Infinispan Servers: Beyond peer-to-peer data grids

Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Guillaume Laforge
 
BDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZBDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZ
leondu
 

Ähnlich wie Infinispan Servers: Beyond peer-to-peer data grids (20)

Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010
 
BRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQLBRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQL
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
 
Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4
 
Tomas Grails
Tomas GrailsTomas Grails
Tomas Grails
 
App Engine Meetup
App Engine MeetupApp Engine Meetup
App Engine Meetup
 
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
 
Performance and Abstractions
Performance and AbstractionsPerformance and Abstractions
Performance and Abstractions
 
Billions of hits: Scaling Twitter (Web 2.0 Expo, SF)
Billions of hits: Scaling Twitter (Web 2.0 Expo, SF)Billions of hits: Scaling Twitter (Web 2.0 Expo, SF)
Billions of hits: Scaling Twitter (Web 2.0 Expo, SF)
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
 
Django in enterprise world
Django in enterprise worldDjango in enterprise world
Django in enterprise world
 
Django è pronto per l'Enterprise
Django è pronto per l'EnterpriseDjango è pronto per l'Enterprise
Django è pronto per l'Enterprise
 
Apache Solr for TYPO3 (@ T3CON10 Dallas, TX)
Apache Solr for TYPO3 (@ T3CON10 Dallas, TX)Apache Solr for TYPO3 (@ T3CON10 Dallas, TX)
Apache Solr for TYPO3 (@ T3CON10 Dallas, TX)
 
Agile framework Support
Agile framework SupportAgile framework Support
Agile framework Support
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
BDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZBDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZ
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby Conference
 
NSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - EnglishNSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - English
 
Offience's Node showcase
Offience's Node showcaseOffience's Node showcase
Offience's Node showcase
 
Deploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaSDeploy Python apps in 5 min with a PaaS
Deploy Python apps in 5 min with a PaaS
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Infinispan Servers: Beyond peer-to-peer data grids

  • 1. galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 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. 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. 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. 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. 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. Peer-to-Peer Setup galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 8. Non-JVM access galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 9. Elasticity problems with P2P galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 10. Client-Server brings Elasticity galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 11. Data Grid per Application? galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 12. Shared Data Grid galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 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. 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. 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. REST Server via Python galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 17. Memcached not good enough galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 18. Infinispan Memcached galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 19. Routing not so smart galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 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. 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. Dynamic routing with Hot Rod galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 23. Smart routing with Hot Rod galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 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. 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. 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. Server Comparison galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010
  • 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. 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. 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. Questions? infinispan.org blog.infinispan.org twitter.com/infinispan #infinispan #judcon galder@jboss.org | twitter.com/galderz | zamarreno.com Thursday, October 7, 2010