Caching for the MashZone NextGen Server
The
MashZone NextGen Server caches artifact metadata, for internal purposes, and optionally caches mashable and mashup responses to improve performance. By default, caches are stored in local memory. See
Artifact Caching and
Response Caching for details.
All
MashZone NextGen caches plus the
MashZone NextGen Analytics In-Memory Stores, can be distributed when
MashZone NextGen is deployed in clusters. See
Distributed Caching for
MashZone NextGen
Clusters for an overview of distributed caching for
MashZone NextGen.
Artifact Caching
Artifact caching caches metadata for mashables, mashups and apps when they are run in MashZone NextGen Hub, the AppDepot, the MashZone NextGen Mobile apps or in any external destination such as SharePoint, portals or web pages. For example, the first time an app is viewed, the specification for that app is retrieved from the MashZone NextGen Repository and cached. Subsequent requests use the cached specification.
Because updates to artifacts are typically infrequent, this cache is long-lived. It is not persisted to disk. Cache entries are flushed only when an artifact is updated or when the server hosting the cache is restarted. No additional configuration is required to enable local artifact caching for MashZone NextGen.
Response Caching
Response caching caches the responses from mashables and mashups when they are run. This is a short lived cache that caches response data based on the unique signature of each request to mashables or mashups.
Configuration for response caching gives you fine grained control for which mashables and mashups use response caching and the expiration periods for their cache entries. See
Configuring Mashable/Mashup Response Caching for instructions.
Distributed Caching for MashZone NextGen Clusters
When MashZone NextGen is deployed in clusters, both artifact caching and the MashZone NextGen Analytics In-Memory Stores must be distributed to maintain cache integrity. Response caching, however, can be left in local memory for each MashZone NextGen Server or it can be distributed.
In many environments, local caching provides both good performance and acceptable cache integrity for response caching. Local caching is "eventually consistent", but can result in visible differences as cached responses are not guaranteed to be identical for different cluster members. For environments that cannot tolerate any loss of cache integrity, distributed response caching is recommended.
Note: | Distributed caching is only available if you purchase and deploy BigMemory Servers. |
You use BigMemory Servers to handle distributed caching for MashZone NextGen. When this is combined with MashZone NextGen clusters, the high-level architecture looks like this:
With BigMemory Servers, data for both the MashZone NextGen Analytics In-Memory Stores and most MashZone NextGen caches can use the total off-heap memory configured for the cluster plus any heap and off-heap memory configured for the MashZone NextGen local host.
The BigMemory Servers manage consistency and memory across the cluster. They also support failover, with mirror servers, for high availability and many other advanced capabilities that may be useful for enterprise production systems.