GlobalContext Design Discussion

Zone Assumptions Regarding Persistence, Replications, Sharing, etc

Some Definitions

  • Restart - User directed stopping and starting of the application. The user has decided to take the app offline and then online again. Equivalent to a zero stop followed by zero start
  • Recycle - A system directed (trigger by ZSO) bounce of the JVM (due to idleness or excessive requests) to maintain help of the system. From the user's standpoint, the app was not stopped, should remain available and all state should survive the restart.

Scenarios/Topologies

In order to discuss these state issues, we will use the following scenarios:

  • Single - A single instance of the application's JVM on a single machine
  • Cluster - A collection of JVMs hosting the same application

For Cluster there are two subscenarios we will consider related to restart/recycle

  • Member Bounce - An individual member of the cluster is bounced
  • Full Cluster Bounce - All cluster members are bounced (this could be all bounced at once, or the behavior when the last existing cluster member is stopped

State Lifecycle Assumptions

  Single Recycle Single Restart Cluster Member Recycle Cluster Member Restart Cluster Full Recycle Cluster Full Restart
App State Survives State is discarded State Survives State is discarded from member but recreated on start from other cluster members State Survives State is discarded
Request State is discarded State is discarded State is discarded State is discarded State is discarded State is discarded
Event State is discarded State is discarded State is discarded State is discarded State is discarded State is discarded
Config State is reloaded from files State is reloaded from files State is reloaded from files State is reloaded from files State is reloaded from files State is reloaded from files
User State Survives State is discarded State Survives State is discarded from member but recreated on start from other cluster members State Survives State is discarded
Storage State Survives and is reloaded from persistent storage State Survives and is reloaded from persistent storage State Survives and is reloaded from persistent storage State Survives and is reloaded from persistent storage State Survives and is reloaded from persistent storage State Survives and is reloaded from persistent storage
Transient State is discarded State is discarded State is discarded State is discarded State is discarded State is discarded

State Replication in a Cluster Assumptions

Zone Replication?
App Replicated
Request Not Replicated
Event Not Replicated
Config Not Replicated (assumes shared config file)
User Replicated
Storage Depends (either replicated or assumes shared storage and storage locking)
Transient Not Replicated

State Mutability Assumptions

Zone Mutability
App Read/Write
Request Read/Write
Event Read/Write
Config Read-Only
User Read/Write
Storage Read/Write
Transient Read/Write

r2 - 06 Jun 2008 - 12:39:37 - todkap
Syndicate this site RSS ATOM
Copyright 2007 © IBM Corporation | Privacy | Terms of Use | About this site