XAP

General Terms and Concepts

Basic Components

Space

The cache instance that holds data objects in memory and might also hold them in layered in tiering.

Execute, Read, Write, Take and Notify

A set of methods used to read, write, take, and register for notification on objects that are stored in the Space. Execute allows sending Tasks to be executed within the Space. Read and Take criteria can be specified via a query or a template (an example object).

Service

A service performs operations with the underlying data. There are several types of Services:

  • Stateful PU/Service - space containing data and also might embed services related to that space's data.

  • Stateless PU/Service - There are built-in services as mirror wan-GW, data-GW. In addition, there are custom services which are customer driven.

  • Client Services - applications that interact with spaces.  In Smart DIH these include low-code micro services.

Stateless services are shown in UI tools (ops-ui/SpaceDeck).

Metrics of stateless services are managed.

If running in a Kubernetes environment, client services can use spring boot and enjoy Kubernetes direct management and manage their own metrics directly.

When running in Service Grid, the SLA of all services is managed by the Service Grid.

Processing Unit (PU)

A combination of clients and/or an embedded Space instance. This is the fundamental unit of deployment in the data grid. The Processing Unit itself is typically deployed onto the cluster. When a Processing Unit is deployed, a Processing Unit instance is the actual runtime entity.  The number of PU instances in a PU will be deployed according to the SLA defined.

Processing Unit Configured with One or More Services

A deployable package containing one or more services. In the GigaSpaces context, it usually acts as a client that interacts with other Processing Units by utilizing the messaging capabilities of the Space.

Processing Unit Configured with an Embedded Space and Embedded Services

A deployable, independent, scalable unit that is the building block of Space-Based Architecture. A client application (which can also be other Processing Units) write objects to the Space, and the Processing Unit that contains this Space consumes these objects or is notified about them and triggers related services.

Data Grid

In-Memory Data Grid (IMDG)

A set of Space instances, typically running within their respective processing unit instances. The space instances are connected to each other to form a space cluster. The relations between the spaces define the data grid topology.

Data Grid Topologies

Partitioned Data Grid

Each partition holds a different subset of the objects. When the objects are written to this data grid, they are routed to the proper partition according to a predefined attribute in the object that acts as the routing index. There is an exception for routing which duplicates data over all the partitions using a Broadcast Table. See Broadcast Objects for more information.

Routing (refer to the data partitioning page)

The mechanism that is in charge of routing the objects into and out of the corresponding partitions. The routing is based on a designated attribute inside the objects that are written to the Space, called the Routing Index.

Partitioned Data Grid with High Availability

A partitioned data grid, with backup for each partition. Each data grid instance (partition) holds a different subset of the objects in the data grid, and replicates this subset to its backup instance.

Runtime Components

Processing Unit Container

 

A container that hosts a Processing Unit. The Processing Unit can run only inside a hosting Processing Unit Container. In Service Grid this is referred to as the GSC (Grid Service Container) and in Kubernetes this is referred to as the Pod.

Types of Processing Unit Containers

Integrated Processing Unit Container

A container that runs the Processing Unit inside a development environment (e.g. IntelliJ IDEA, Eclipse).

Processing Unit Container (SLA-Driven Container)

When working with Service Grid orchestration, the PU SLA is managed by the Service Grid. For more information: the-sla-overview.

In the Kubernetes environment, client services SLA will be managed by Kubernetes. The PU SLA will be managed by the XAP manager.

Service Grid

A built-in orchestration tool which contains a set of Grid Service Containers (GSCs) managed by a Grid Service Manager. The containers host various deployments of Processing Units and data grids. Each container can be run on a separate physical machine.  This orchestration is available for Smart Cache only. For Smart DIH, we recommend using our Kubernetes orchestration.

Grid Service Container (GSC)

A component that hosts Processing Unit instances. A machine can run one or more GSC processes. Each GSC communicates with a manager component (GSM which is part of the GigaSpaces Manager). The GSC receives requests to start/stop a Processing Unit (PU) instance, and sends information about the machine that runs it (operating system, processor architecture, current memory and CPU stats), the software installed on it, and the status of Processing Unit instances currently running on it.

Grid Service Manager (GSM) - XAP Only

The GSM is a part of the GigaSpaces Manager that manages and monitors deployments of Processing Units (PUs).