You are previewing WebSphere eXtreme Scale v8.6 Key Concepts and Usage Scenarios.
O'Reilly logo
WebSphere eXtreme Scale v8.6 Key Concepts and Usage Scenarios

Book Description

IBM WebSphere® eXtreme Scale provides a solution to scalability issues through caching and grid technology. It provides an enhanced quality of service in high performance computing environments.

This IBM® Redbooks® publication introduces WebSphere eXtreme Scale and shows how to set up and use an eXtreme Scale environment. It begins with a discussion of the issues that would lead you to an eXtreme Scale solution. It then describes the architecture of eXtreme Scale to help you understand how the product works. It provides information about potential grid topologies, the APIs used by applications to access the grid, and application scenarios that show how to effectively use the grid.

This book is intended for architects who want to implement WebSphere eXtreme Scale.

The original edition of this book was based on WebSphere eXtreme Scale version 6.1. It was published in 2008 and described as a "User's Guide". This second edition updates the information based on WebSphere eXtreme Scale version 8.6, and covers key concepts and usage scenarios.

Table of Contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. Preface
    1. Authors
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  4. Chapter 1. Introduction to WebSphere eXtreme Scale
    1. 1.1 The scalability challenge
    2. 1.2 Caching
      1. 1.2.1 Holding the cached data
      2. 1.2.2 Disk offload
      3. 1.2.3 Data grids
    3. 1.3 Introduction to WebSphere eXtreme Scale
      1. 1.3.1 Architecture and terminology
      2. 1.3.2 Transaction support
      3. 1.3.3 Securability
      4. 1.3.4 Scalability
      5. 1.3.5 High availability
    4. 1.4 Installation modes and deployment topologies
      1. 1.4.1 Installation modes
      2. 1.4.2 Deployment topologies
      3. 1.4.3 Mixing and matching
    5. 1.5 What is new in WebSphere eXtreme Scale Version 8.6
      1. 1.5.1 Architectural enhancements
      2. 1.5.2 Programming enhancements
      3. 1.5.3 Monitoring and management enhancements
    6. 1.6 Entry points for WebSphere eXtreme Scale
      1. 1.6.1 Possible entry points
      2. 1.6.2 Decision tree
    7. 1.7 Comparing WebSphere eXtreme Scale to in-memory databases
      1. 1.7.1 Introducing IMDBs
      2. 1.7.2 Explaining the difference
    8. 1.8 IBM WebSphere DataPower XC10 Appliance
  5. Chapter 2. Architecture and topologies
    1. 2.1 WebSphere eXtreme Scale architecture
      1. 2.1.1 Grid architecture
      2. 2.1.2 Internal components
      3. 2.1.3 Grid clients and servers
      4. 2.1.4 WebSphere eXtreme Scale meta model
      5. 2.1.5 Transport protocol: IBM eXtremeIO (XIO)
    2. 2.2 Catalog server
      1. 2.2.1 Access point for clients
      2. 2.2.2 Maintaining the catalog service domain
      3. 2.2.3 Placement and balancing shards
      4. 2.2.4 Placement work and route table flow
    3. 2.3 Replication: Primary and replica shards
      1. 2.3.1 Selecting data to replicate: Revisioning
      2. 2.3.2 Synchronous replicas
      3. 2.3.3 Asynchronous replicas
    4. 2.4 APIs used to access the grid
      1. 2.4.1 ObjectMap API
      2. 2.4.2 EntityManager API
      3. 2.4.3 Spring framework
      4. 2.4.4 Microsoft .NET
      5. 2.4.5 REST data service
      6. 2.4.6 REST gateway
    5. 2.5 A simple example
    6. 2.6 Scalability sizing considerations
    7. 2.7 Common topologies
      1. 2.7.1 Managed grid
      2. 2.7.2 Stand-alone grid
      3. 2.7.3 Embedded cache
      4. 2.7.4 Embedded-partitioned application and cache
      5. 2.7.5 Remote cache (with optional near cache)
    8. 2.8 Common topology options
      1. 2.8.1 Zones
      2. 2.8.2 IBM eXtreme Data Format
      3. 2.8.3 IBM eXtremeMemory
      4. 2.8.4 Multi-master replication
  6. Chapter 3. Application scenarios
    1. 3.1 Introducing the scenarios
    2. 3.2 Application state store scenario
      1. 3.2.1 HTTP session distribution
      2. 3.2.2 Application server elasticity
      3. 3.2.3 Enterprise service bus state management
    3. 3.3 Side cache scenario
      1. 3.3.1 Implementation overview
      2. 3.3.2 Dynamic cache provider
      3. 3.3.3 Service-oriented architecture caching
      4. 3.3.4 Mobile gateway
      5. 3.3.5 Enterprise data grid (cross-technology access)
    4. 3.4 In-line cache scenario
      1. 3.4.1 Implementation overview
      2. 3.4.2 EIS shock absorber
    5. 3.5 Extreme Transaction Processing scenario
      1. 3.5.1 Implementation overview
      2. 3.5.2 MapReduce programming model
      3. 3.5.3 Real-time business rules and event processing
    6. 3.6 Integration with other IBM products
      1. 3.6.1 WebSphere Portal Server and Web Content Manager
      2. 3.6.2 WebSphere Commerce Server
      3. 3.6.3 IBM WebSphere DataPower XG45 and XI52 appliances
      4. 3.6.4 WebSphere Message Broker
      5. 3.6.5 IBM Worklight
      6. 3.6.6 IBM Business Process Manager
      7. 3.6.7 Rational Team Concert
      8. 3.6.8 IBM Operational Decision Management
  7. Chapter 4. Developing with WebSphere eXtreme Scale
    1. 4.1 Setting up a development environment
      1. 4.1.1 Installing the development environment
      2. 4.1.2 Creating a WebSphere eXtreme Scale grid
    2. 4.2 Developing for WebSphere eXtreme Scale
      1. 4.2.1 Testing the grid with a sample web application
      2. 4.2.2 Using the ObjectMap API
    3. 4.3 Loading data into the grid
      1. 4.3.1 Introducing loaders
      2. 4.3.2 Implementing the JPA loader
      3. 4.3.3 Implementing a time-based updater
      4. 4.3.4 Implementing a client loader
    4. 4.4 Querying data using Object Grid Query Language
      1. 4.4.1 Important considerations when using queries
      2. 4.4.2 Optimizing query performance using the global index
      3. 4.4.3 Inverse range index
      4. 4.4.4 Continuous query
    5. 4.5 Server-side development with agents
      1. 4.5.1 Agent development
      2. 4.5.2 Liberty Profile configuration
    6. 4.6 Dealing with data eviction and stale data
      1. 4.6.1 Tolerating the data
      2. 4.6.2 Using time-based eviction strategies
      3. 4.6.3 Polling the database for updates in regular intervals
      4. 4.6.4 Using JMS to propagate changes
      5. 4.6.5 Using near cache invalidation in WebSphere eXtreme Scale version 8.6
      6. 4.6.6 Assuring no external changes are made to backing store
      7. 4.6.7 Ensuring all external change processes notify the grid
    7. 4.7 Saving time with WXSUtils
      1. 4.7.1 Examples of usage
    8. 4.8 Transactions
      1. 4.8.1 Transaction considerations
      2. 4.8.2 JTA transactions
      3. 4.8.3 Multi-partition transactions
  8. Chapter 5. Deployment scenarios
    1. 5.1 WebSphere eXtreme Scale in a stand-alone environment
      1. 5.1.1 Benefits
      2. 5.1.2 Limitations
      3. 5.1.3 Introducing the sample application
      4. 5.1.4 Introducing the sample topology
      5. 5.1.5 Creating the sample topology
      6. 5.1.6 Validating the sample topology
      7. 5.1.7 Testing the sample topology and application
    2. 5.2 Integrating in a WebSphere Application Server Network Deployment environment
      1. 5.2.1 Benefits
      2. 5.2.2 Limitations
      3. 5.2.3 Considerations
      4. 5.2.4 Introducing the sample application
      5. 5.2.5 Introducing the sample topology
      6. 5.2.6 Creating the sample topology
      7. 5.2.7 Validating the sample topology
      8. 5.2.8 Testing the sample topology and application
    3. 5.3 Integrating into WebSphere Application Server Liberty Profile
      1. 5.3.1 Benefits
      2. 5.3.2 Limitations
      3. 5.3.3 Considerations
      4. 5.3.4 Introducing the sample application
      5. 5.3.5 Introducing the sample topology
      6. 5.3.6 Creating the sample topology
      7. 5.3.7 Testing the sample topology and application
  9. Chapter 6. Extended HTTP session management with WebSphere eXtreme Scale
    1. 6.1 HTTP session management overview
      1. 6.1.1 Using HTTP session to hold state
      2. 6.1.2 Tracking who what owns each HTTP session
      3. 6.1.3 Session replication and session persistence
      4. 6.1.4 Session affinity
      5. 6.1.5 Commonly implemented options for HTTP session management
    2. 6.2 Using WebSphere eXtreme Scale for HTTP session management
      1. 6.2.1 Benefits of using WebSphere eXtreme Scale for HTTP session management
      2. 6.2.2 Integration of WebSphere eXtreme Scale session management
      3. 6.2.3 Configuration for WebSphere eXtreme Scale session management
      4. 6.2.4 Topologies for eXtreme Scale session management
      5. 6.2.5 Sample grid configuration files for an HTTP session
      6. 6.2.6 HTTP session servlet filter configuration
    3. 6.3 Introducing the SessionTest sample application
    4. 6.4 Scenario 1: Implementing with WebSphere Application Server Network Deployment
      1. 6.4.1 Installing the sample SessionTest application
      2. 6.4.2 Configuring WebSphere eXtreme Scale session management
      3. 6.4.3 Installing the HTTPSessionGrid application into the container servers
      4. 6.4.4 Reconfiguring to use WebSphere eXtreme Scale session management
      5. 6.4.5 Testing the application
    5. 6.5 Scenario 2: Implementing with WebSphere Liberty Profile
      1. 6.5.1 Implementing the grid configuration
      2. 6.5.2 Configuring HTTP session management
      3. 6.5.3 Running the application
      4. 6.5.4 Validating HTTP session failover
    6. 6.6 Scenario 3: Implementing with Apache Tomcat
      1. 6.6.1 Operational model
      2. 6.6.2 Implementing the web application server deployment environment
      3. 6.6.3 Implementing the grid topology
      4. 6.6.4 Configuring HTTP session management
      5. 6.6.5 Deploying the sample application into Apache Tomcat
      6. 6.6.6 Starting the deployment environment
      7. 6.6.7 Testing the application and session failover
  10. Chapter 7. Basic administration
    1. 7.1 The web console
      1. 7.1.1 Configuring the web console for monitoring
      2. 7.1.2 Monitoring your grid with the web console
      3. 7.1.3 Monitoring your grid with the Message Center
    2. 7.2 Command line access: xscmd
      1. 7.2.1 Placement layout: showPlacement command
      2. 7.2.2 Current route table: routetable command
      3. 7.2.3 Size of the grid: showMapSizes command
      4. 7.2.4 Rerun placement: triggerPlacement command
      5. 7.2.5 Version of grid contents: revisions command
      6. 7.2.6 Information about servers: showInfo command
      7. 7.2.7 Stopping servers efficiently: teardown command
      8. 7.2.8 Reviewing keys in the grid: findByKey command
      9. 7.2.9 Multi-master replication commands
      10. 7.2.10 Viewing health notifications with xscmd
    3. 7.3 Log analyzer
      1. 7.3.1 Running the log analyzer
      2. 7.3.2 Extending the capabilities of the log analyzer
      3. 7.3.3 Sample output from xsLogAnalyzer
    4. 7.4 JVM logging and tracing
      1. 7.4.1 Enabling logging and tracing in a stand-alone WebSphere eXtreme Scale environment
      2. 7.4.2 Enabling logging in a WebSphere Application Server managed eXtreme Scale environment
      3. 7.4.3 Using High Performance Extensible Logging
    5. 7.5 Monitoring with other products
      1. 7.5.1 IBM Tivoli Enterprise Monitoring Agent
      2. 7.5.2 CA Wily Introscope
      3. 7.5.3 Hyperic HQ
      4. 7.5.4 Java JConsole and other MBean inspection tools
    6. 7.6 Tuning, recovery and troubleshooting
      1. 7.6.1 Tuning the heartbeat frequency level
      2. 7.6.2 Tuning and controlling placement
      3. 7.6.3 Tuning container server start and stop
      4. 7.6.4 Off loading work from primary shards: replicaReadEnabled option
      5. 7.6.5 Recovery for network blips and brown outs
      6. 7.6.6 Recovery for client failures
      7. 7.6.7 Troubleshooting placement problems
      8. 7.6.8 Troubleshooting synchronous replication
      9. 7.6.9 Troubleshooting asynchronous replication
      10. 7.6.10 Troubleshooting multi-master replication
      11. 7.6.11 Testing a custom collision arbiter for multi-master replication
  11. Appendix A. Additional material
    1. Locating the Web material
    2. Using the Web material
  12. Related publications
    1. IBM Redbooks publications
    2. Online resources
    3. How to get Redbooks publications
    4. Help from IBM
  13. Back cover