KrakenD · Schema
KrakenD Async Agent
An Async Agent defines a consumer that subscribes to a queue or event stream (such as RabbitMQ, Kafka, or AWS SNS/SQS) and processes messages independently of HTTP request/response cycles.
AggregationAPI GatewayGoOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| name | string | A unique name for the async agent. |
| encoding | string | The encoding of the consumed messages. |
| backend | array | Backend definitions to process the consumed messages. |
| consumer | object | Consumer configuration including topic, subscription, and connection details. |
| connection | object | Connection settings for the message broker. |
| extra_config | object | Additional component configurations keyed by namespace. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/krakend/blob/main/json-schema/async-agent.json",
"title": "KrakenD Async Agent",
"description": "An Async Agent defines a consumer that subscribes to a queue or event stream (such as RabbitMQ, Kafka, or AWS SNS/SQS) and processes messages independently of HTTP request/response cycles.",
"type": "object",
"required": ["name", "backend", "consumer"],
"properties": {
"name": {
"type": "string",
"description": "A unique name for the async agent."
},
"encoding": {
"type": "string",
"description": "The encoding of the consumed messages."
},
"backend": {
"type": "array",
"items": {
"$ref": "backend.json"
},
"description": "Backend definitions to process the consumed messages."
},
"consumer": {
"type": "object",
"description": "Consumer configuration including topic, subscription, and connection details.",
"properties": {
"topic": {
"type": "string",
"description": "The topic or queue name to consume from."
},
"workers": {
"type": "integer",
"description": "Number of concurrent consumer workers."
},
"timeout": {
"type": "string",
"description": "Timeout for consuming a message."
},
"max_rate": {
"type": "number",
"description": "Maximum rate of messages consumed per second."
}
}
},
"connection": {
"type": "object",
"description": "Connection settings for the message broker.",
"properties": {
"max_retries": {
"type": "integer",
"description": "Maximum number of connection retry attempts."
},
"backoff_strategy": {
"type": "string",
"description": "Backoff strategy for reconnection attempts."
},
"health_interval": {
"type": "string",
"description": "Interval between health checks on the connection."
}
}
},
"extra_config": {
"type": "object",
"description": "Additional component configurations keyed by namespace."
}
}
}