SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
Anthony Baker
 
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
Codemotion
 
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
Manik Surtani
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to Production
C2B2 Consulting
 
Redis adaptor for Apache Geode
Redis adaptor for Apache GeodeRedis adaptor for Apache Geode
Redis adaptor for Apache Geode
Swapnil Bawaskar
 
Apache geode
Apache geodeApache geode
Apache geode
Yogesh BG
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
Anthony Baker
 
Apache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based ReplicationApache Geode Clubhouse - WAN-based Replication
Apache Geode Clubhouse - WAN-based Replication
PivotalOpenSourceHub
 
인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처인메모리 클러스터링 아키텍처
인메모리 클러스터링 아키텍처
Jaehong Cheon
 
Infinispan and Enterprise Data Grid
Infinispan and Enterprise Data GridInfinispan and Enterprise Data Grid
Infinispan and Enterprise Data Grid
JBug Italy
 
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
PivotalOpenSourceHub
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)
Anthony Baker
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
Kris Jeong
 
Apache ignite Datagrid
Apache ignite DatagridApache ignite Datagrid
Apache ignite Datagrid
Surinder Mehra
 
Pivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 FebPivotal 전략 업데이트 2015 Feb
Pivotal 전략 업데이트 2015 Feb
seungdon Choi
 
祝 top-level project Apache Geode
祝 top-level project Apache Geode祝 top-level project Apache Geode
祝 top-level project Apache Geode
Tomohiro Ichimura
 
Hazelcast 소개
Hazelcast 소개Hazelcast 소개
Hazelcast 소개
sangyun han
 
오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. Infinispan오픈소스 성능 최적화 보고서 ch07. Infinispan
오픈소스 성능 최적화 보고서 ch07. InfinispanHyeonSeok Choi
 
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
3회 서울 Hadoop 사용자 모임 / 아파치 피닉스
Teddy Choi
 

Viewers also liked (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 사용자 모임 / 아파치 피닉스
 

Similar to Infinispan Servers: Beyond peer-to-peer data grids

Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010
JUG Lausanne
 
BRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQLBRAINREPUBLIC - Powered by no-SQL
BRAINREPUBLIC - Powered by no-SQL
Andreas Jung
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGuillaume 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
John Ballinger
 
App Engine Meetup
App Engine MeetupApp Engine Meetup
App Engine Meetup
John Woodell
 
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...
Amazon Web Services
 
Performance and Abstractions
Performance and AbstractionsPerformance and Abstractions
Performance and Abstractions
Metosin Oy
 
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)
John Adams
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
Apache Geode
 
Django in enterprise world
Django in enterprise worldDjango in enterprise world
Django in enterprise world
Simone Federici
 
Django è pronto per l'Enterprise
Django è pronto per l'EnterpriseDjango è pronto per l'Enterprise
Django è pronto per l'Enterprise
PyCon Italia
 
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)
Ingo Renner
 
Agile framework Support
Agile framework SupportAgile framework Support
Agile framework Support
Oliver Szymanski
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
Tony Tam
 
BDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZBDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZleondu
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby Conference
John Woodell
 
NSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - EnglishNSLogger - Cocoaheads Paris Presentation - English
NSLogger - Cocoaheads Paris Presentation - English
Florent Pillet
 
Offience's Node showcase
Offience's Node showcaseOffience's Node showcase
Offience's Node showcase
cloud4le
 
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
Appsembler
 

Similar to 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
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

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