售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
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 configuration
Authorization configuration
Client configuration
Infinispan memcached server
The memcached protocol
Connecting the Infinispan memcached server by using a Java Client
The Infinispan WebSocket server
Introducing WebSocket
Overview of the WebSocket API
WebSocket in Java
Using the Infinispan JavaScript API
Introducing the command line interface (CLI)
Starting the command line interface
Using Infinispan CLI commands
Defining data types and time values
Basic commands
connect
disconnect
cache
container
quit
Manipulating caches
get
put
clear
evict
remove
replace
Managing caches
upgrade
Arguments
create
encoding
Managing transactions
begin
commit
rollback
Batching
start
end
abort
Getting statistics and system information
locate
site
stats
version
info
Summary
10. Getting Started with Hibernate OGM
Introducing Hibernate OGM
Hibernate OGM features
Hibernate OGM architecture
Understanding how the mappings work
Installing and using Hibernate OGM
Creating a Hibernate OGM project using Maven
Configuring the persistence unit
Transaction management
Running Hibernate OGM in the Java EE environment
Running Hibernate OGM in a standalone JTA environment
Running Hibernate OGM without JTA
Configuration properties
Configuring Infinispan caches for Hibernate OGM
Creating the domain model
Summary
11. An Introduction to JGroups
Introduction to group communication
Understanding the JGroups project
The JGroups architecture
Customizing JGroups settings on Infinispan
An Overview of protocols used by JGroups
Transportation
Membership discovery
Merging
Failure detection
Reliable transmission
Fragmentation of large messages
Ordering protocols
Group membership
State transfer
Security
Flow control
Message stability
Summary
12. Advanced Topics
Cross-site replication
Configuring cross-site replication
Cross-site replication and transactions
Cross-site replication with non-transactional caches
Cross-site replication with transactional caches
Taking a site offline and online again
Integrating Infinispan with CDI
An introduction to CDI
Setting up CDI support in your Maven POM
Injecting an Infinispan cache into your Beans
Customizing the default configuration
Remote cache integration
JBoss AS7 configured Cache
Integrating with JCache annotations
Using the Map/Reduce API
An introduction to Map/Reduce
Map/Reduce in the Infinispan platform
Sample application – find a destination
Improving the serialization process using externalizers
Introducing the Infinispan externalizer API
Creating advanced externalizers
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜