Intelligent Load Balancer (ILB) API (v5.4.2)

Download OpenAPI specification:

License: BSD-3-Clause

SlideRule cluster orchestration and analysis.

Internal

Register a service member

Register a node as a member of a service in the cluster.

Request Body schema: application/json
required
service
required
string

The service name to register under.

lifetime
required
integer

Duration in seconds that the registration lasts.

address
required
string

Public hostname or IP address of the member (including protocol and port).

reset
boolean
Default: false

If true, resets any pending transactions for this address.

Responses

Request samples

Content type
application/json
{
  • "service": "string",
  • "lifetime": 0,
  • "address": "string",
  • "reset": false
}

Response samples

Content type
application/json
{
  • "http://10.0.1.5:9081": [
    ]
}

Self-lock a node

Notify orchestrator that the sending node needs the requested number of locks.

Request Body schema: application/json
required
service
required
string

The service name.

address
required
string

IP address of the requesting node.

locksPerNode
required
integer

Number of locks requested.

timeout
required
integer

Timeout in seconds for the transaction (max 3600).

Responses

Request samples

Content type
application/json
{
  • "service": "string",
  • "address": "string",
  • "locksPerNode": 0,
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "transaction": 0
}

Lock nodes for processing

Returns up to the requested number of nodes for processing a request, selecting nodes with the fewest active locks.

Request Body schema: application/json
required
service
required
string

The service name.

nodesNeeded
required
integer

Number of nodes requested.

locksPerNode
integer
Default: 1

Number of locks per node.

timeout
required
integer

Timeout in seconds for the transactions (max 3600).

Responses

Request samples

Content type
application/json
{
  • "service": "string",
  • "nodesNeeded": 0,
  • "locksPerNode": 1,
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "members": [
    ],
  • "transactions": [
    ]
}

Unlock transactions

Releases locks for members associated with the provided transaction IDs.

Request Body schema: application/json
required
transactions
required
Array of integers

List of transaction IDs to release.

Responses

Request samples

Content type
application/json
{
  • "transactions": [
    ]
}

Response samples

Content type
application/json
{
  • "complete": 0,
  • "fail": 0
}

Health check

Returns health status of the orchestrator.

Responses

Response samples

Content type
application/json
{
  • "health": true
}

Orchestrator Prometheus metrics

Provides metrics for Prometheus scraping including request counts, completions, failures, timeouts, startups, active locks, and per-service member counts.

Responses

Analyzer Prometheus metrics

Provides metrics for Prometheus scraping including per-endpoint request counts, successful/untracked/failed request counts, unique originators, and blocked originators.

Responses

Public

Get cluster status

Returns the number of registered nodes for a service.

Request Body schema: application/json
optional
service
string

Service name to query. Defaults to CLUSTER environment variable.

Responses

Request samples

Content type
application/json
{
  • "service": "string"
}

Response samples

Content type
application/json
{
  • "nodes": 0
}

Get cluster name

Returns the name of the cluster

Responses

Response samples

Content type
application/json
{
  • "cluster": "string"
}