Infinispan Data Grid Platform Definitive Guide
eBook - ePub

Infinispan Data Grid Platform Definitive Guide

Wagner Roberto dos Santos

Share book
  1. 464 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Infinispan Data Grid Platform Definitive Guide

Wagner Roberto dos Santos

Book details
Book preview
Table of contents
Citations

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Infinispan Data Grid Platform Definitive Guide an online PDF/ePUB?
Yes, you can access Infinispan Data Grid Platform Definitive Guide by Wagner Roberto dos Santos in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming in Java. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781782169970

Infinispan Data Grid Platform Definitive Guide


Table of Contents

Infinispan Data Grid Platform Definitive Guide
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started
Introducing the Infinispan data grid
Infinispan and JSR 107 – Java Temporary Caching API
Getting started with Infinispan
Installing Infinispan
Looking inside the box
Using Maven
Running the sample application
Creating your first project
Creating a Maven project manually
Building Infinispan from source
Setting up the environment
Contributing to the project
Summary
2. Barriers to Scaling Data
Understanding performance and scalability
Improving performance using Infinispan
An introduction to performance tuning
Infinispan and performance
Improving scalability
Vertical scalability
Horizontal scalability
Design tradeoffs
Points to consider about relational databases
Distributed transactions and ACID
CAP theorem
BASE
Infinispan, CAP, and BASE
Scaling out your database
Scaling options
Master-Slave replication
Active/Passive configuration
Database clustering
Database sharding
Infinispan and network partitions
Configuring partition handling
Infinispan and high availability
Summary
3. Using the APIs
Infinispan architecture
Anatomy of an Infinispan clustered cache
The embedded (P2P) mode
The client/server mode
The cache container
Default cache
Naming your caches
Configuring an Infinispan cache
Declarative configuration on Infinispan 6.0.x
Global configuration (globalType)
Configuration settings
Declarative configuration on Infinispan 7.0.x
Understanding the JGroups element
Configuring the threads subsystem
Configuring the cache-container element
Programmatic configuration
Infinispan APIs
Learning the cache API
Understanding cache evictions
Configuring cache expiration
Eviction v/s Expiration
Persisting data in Infinispan
Configuring a cache loader
Filesystem-based cache loaders
JDBC-based cache loaders
JPA cache store
Selecting a JDBC cache loader
Using passivation in your application
Writing event listeners and notifications
The listener API
Cluster listeners in Infinispan 7.0
Listening to cache-level events
Writing cache manager-level events
Registering event listeners
Configuring logging in Infinispan
Introducing JSR-107 – The Java Caching API
Summary
4. Infinispan Topologies
Clustering modes
The local mode
The invalidation mode
The replicated mode
Understanding synchronous and asynchronous replication
The synchronous replication
The asynchronous replication
The asynchronous marshalling
The replication queue
The distribution mode
Server Hinting
L1 caching
Summary
5. Data Access Patterns
Data access patterns
Understanding and configuring second-level cache in Hibernate with Infinispan
Introducing first-level and second-level caching
Configuring Infinispan as Hibernate second-level cache
Implementing the cache-aside programming pattern
Reading and writing through cache
Writing behind caching
The Unscheduled Write-behind strategy
The Scheduled Write-behind strategy
Summary
6. Case Study – The TicketMonster Application
The JBoss developer framework
Installing and running the TicketMonster application
Project structure
In Eclipse
In IntelliJ
The TicketMonster application use cases
Administrators use cases
Building the administration UI using JBoss Forge
JBoss Forge installation and setup
Forge Plugin for Eclipse
Architecture and design of TicketMonster
The TicketMonster domain model
Utility classes in TicketMonster
The service layer of TicketMonster
Scaling TicketMonster
Clustered Web servers versus stateful session
Which pattern to use?
Adding Infinispan to Ticket Monster
Configuring the infrastructure
Using caches for seat reservations
Implementing shopping carts
Summary
7. Understanding Transactions and Concurrency
Transaction fundamentals
Java Transaction API
Transactional modes
Non-transactional data access
Transactional models
Optimistic transaction
Pessimistic transaction
Choosing the better transaction model
Batch mode
Transaction recovery
Integrating with Transaction Manager
Locking and concurrency control
Multiversion concurrency control
Configuring isolation levels in Infinispan
Implicit and explicit locking
Lock timeouts
Deadlock detection
Data versioning
Summary
8. Managing and Monitoring Infinispan
An overview of monitoring and managing with Java
Monitoring and managing Java applications with JMX
Interacting with Infinispan via JMX
The CacheManager level
The cache level
Monitoring Infinispan with JConsole
Monitoring Infinispan with VisualVM
Infinispan's MBeans
Other management tools
Introducing RHQ
Installing and configuring RHQ
Installing RHQ Server
Installing the Infinispan plugin
Installing the RHQ Agent
Monitoring Infinispan
Planning and scheduling operations
Creating alerts
Summary
9. Server Modules
Client/Server access
Introduction to server modules
Starting the server
Configuration
Customizing the endpoint and Infinispan subsystem
Enabling protocol interoperability
Infinispan REST server
Introduction to REST services
Configuring the Infinispan REST Server on earlier versions
Introducing the REST API
Using HTTP request headers for GET and HEAD operations
Accept
Using HTTP request headers for POST and PUT operations
Content-Type
performAsync
timeToLiveSeconds
maxIdleTimeSeconds
Client side code
cURL
Options
Testing REST services with RESTClient
Consuming RESTful web services with Java
Java.net
Using the Hot Rod server
Hot Rod clients
Using the Hot Rod Java Client
Starting a RemoteCacheManager
Configuring authentication for your Hot Rod application
Introducing the SASL framework
Supported SASL mechanisms
Configuring authorization policies
Realm conf...

Table of contents