万本电子书0元读

万本电子书0元读

顶部广告

Infinispan Data Grid Platform Definitive Guide电子书

售       价:¥

3人正在读 | 0人评论 9.8

作       者:Wagner Roberto dos Santos

出  版  社:Packt Publishing

出版时间:2015-05-29

字       数:405.8万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
This practical guide is intended for those who want to learn how to build extremely scalable applications. This book is easy to read and is aimed at Java enterprise developers with a solid knowledge of Java. However, no previous coding experience with Infinispan is required.
目录展开

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部