Table of Contents

ScaleOut's Invocation Grid feature allows you to deploy and host your event handling code in a .NET worker process that is launched and managed by the ScaleOut service.

About Invocation Grids

Several advanced ScaleOut features take advantage of server-side events for fast, local processing of ScaleOut objects:

  • Parallel Method Invocation (PMI)
  • Stateful Stream Processing (PostEvent)
  • Single-object Invocations

These server-side operations require you to deploy custom event-handling applications directly on the machines running the ScaleOut service. While it is possible to develop and manually deploy event-handling applications on ScaleOut hosts, ScaleOut's Invocation Grid feature offers .NET Core project templates and tools to simplify this work.

Typical Workflow

  1. Install the ScaleOut Software Project Templates on your development workstation.
  2. Create a new Invocation Grid project.
  3. Customize the project's code to handle PMI, PostEvent, or Single-object Invocation operations.
  4. Install the ScaleOut Invocation Grid Command Line Tool.
  5. Use the ig tool to build, deploy, and manage your Invocation Grid project on a cluster of ScaleOut hosts.

Architecture

When deployed, your Invocation Grid project is decompressed to a temporary directory on all the ScaleOut hosts in your cluster, and the ScaleOut service launches it as a long-running worker process:

Invocation Grid Deployment

The running IG worker processes handle PMI, PostEvent, and Single-object Invocation events for local objects.

If the Invocation Grid project needs to be updated, the project can simply be redeployed using the ig start command. The ScaleOut hosts will be notified of the new worker process code, stop the existing worker process, and deploy/launch the new version.