Space-Based Architecture
A Space Where GigaSpaces data is stored. It is the logical cache that holds data objects in memory and might also hold them in layered in tiering. Data is hosted from multiple SoRs, consolidated as a unified data model.-Based Architecture (SBA Space-Based Architecture. This architecture implementation is a set of Processing Units, with the following properties: Each processing unit instances holds a partitioned space instance and one or more services that are registered on events on that specific partition. Together they form an application cluster. Utlized by Utilized GigaSpaces cloud-native IMDG.) implementation is a set of Processing Units This is the unit of packaging and deployment in the GigaSpaces Data Grid, and is essentially the main GigaSpaces service. The Processing Unit (PU) itself is typically deployed onto the Service Grid. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity., with the following properties:
-
Each processing unit instances holds a partitioned space instance and one or more services that are registered on events on that specific partition. Together they form an application cluster. If the cluster is required to be highly available, each primary partition has one or more backup partitions, which run in their own processing unit instances. These instances are inactive, and become active only when their primary partition fails.
-
Each Processing Unit instance handles only the data sent to the space partition it runs.
-
Clients interact with the system by writing and updating objects in the space cluster, and the services on each processing unit instance react to object written to that specific instance. In an SBA application, the data will be partitioned in such a way that the services that is triggered as a result will not have to read or write data from other partitions, thus achieving data affinity This describes the relationship between VMs and hosts or in Kubernetes between pods. Affinity will keep VM and hosts together and with Kubernetes, will keep pods on the same node. and in memory read and write speeds. .
-
The system can be scaled by simply increasing the number of space partitions and their corresponding processing unit instances.
-
When deployed onto the Service Grid or on Kubernetes An open-source container orchestration system for automating software deployment, scaling, and management of containerized applications. self-healing and SLA capabilities are added.
-
Full monitoring and management during runtime are available through the UI Tools.
-
An example of UI tools can be see in the User Guide section.
SBA Implementation with 3 Primary Instances and 1 Backup for Each, Accessed by 2 Client Applications
Space-Based Architecture Artifacts
When a Processing Unit library is deployed, a processing unit instance is created. The processing unit instance is hosted within the GigaSpaces container. If the processing unit instance includes a space, all the collocated beans within the processing unit instance inherit the space primary/backup mode. If the space is running in primary mode, they will be active; if the space is running in backup mode, they will be in standby mode.
The following diagram illustrates a deployed Processing Unit with 2 partitions and a backup. The Processing Unit includes a Space, polling container and 2 User Beans A Java Bean is a reusable software component (class) that can be visually manipulated in builder tools. They adhere to a specific set of conventions and guidelines defined by Sun Microsystems (now Oracle).. The deployed Processing Unit is hosted within 2 GigaSpaces containers.
Legend
-
JVM Java Virtual Machine. A virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. - Java process. Native OS process.
-
Processing unit - Deployable package (bundle).
-
GigaSpaces Container - Hosting deployed PU This is the unit of packaging and deployment in the GigaSpaces Data Grid, and is essentially the main GigaSpaces service. The Processing Unit (PU) itself is typically deployed onto the Service Grid. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity..
-
Processing unit Instance - deployed instantiated PU.
-
Space Partition - Data-Grid Member. Store data in-memory.
-
Data-Grid - Collection of Space Partitions.
-
Local Proxy - Access to collocated space partition.
-
Clustered Proxy - Access to all space partitions.
-
Primary Instance - Active space partition.
-
Backup Instance - standby space partition.
-
Standby Bean - Bean collocated with a backup instance.
-
Partition - Collection of primary and backup processing unit instances
-
Polling container - Execution queue. Consumes objects from the space.