ObjectStackObjectStack

Message Queue

Message Queue protocol schemas

Message queue protocol for async communication

Supports Kafka, RabbitMQ, AWS SQS, Redis Pub/Sub

Source: packages/spec/src/system/message-queue.zod.ts

TypeScript Usage

import { ConsumerConfig, DeadLetterQueue, MessageQueueConfig, MessageQueueProvider, TopicConfig } from '@objectstack/spec/system';
import type { ConsumerConfig, DeadLetterQueue, MessageQueueConfig, MessageQueueProvider, TopicConfig } from '@objectstack/spec/system';

// Validate data
const result = ConsumerConfig.parse(data);

ConsumerConfig

Consumer group configuration for topic consumption

Properties

PropertyTypeRequiredDescription
groupIdstringConsumer group identifier
autoOffsetResetEnum<'earliest' | 'latest'>Where to start reading when no offset exists
enableAutoCommitbooleanAutomatically commit consumed offsets
maxPollRecordsnumberMaximum records returned per poll

DeadLetterQueue

Dead letter queue configuration for unprocessable messages

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable dead letter queue for failed messages
maxRetriesnumberMaximum delivery attempts before sending to DLQ
queueNamestringName of the dead letter queue

MessageQueueConfig

Top-level message queue configuration

Properties

PropertyTypeRequiredDescription
providerEnum<'kafka' | 'rabbitmq' | 'aws-sqs' | 'redis-pubsub' | 'google-pubsub' | 'azure-service-bus'>Message queue backend provider
topicsObject[]List of topic configurations
consumersObject[]optionalConsumer group configurations
deadLetterQueueObjectoptionalDead letter queue for failed messages
sslbooleanEnable SSL/TLS for broker connections
saslObjectoptionalSASL authentication configuration

MessageQueueProvider

Supported message queue backend provider

Allowed Values

  • kafka
  • rabbitmq
  • aws-sqs
  • redis-pubsub
  • google-pubsub
  • azure-service-bus

TopicConfig

Configuration for a message queue topic

Properties

PropertyTypeRequiredDescription
namestringTopic name identifier
partitionsnumberNumber of partitions for parallel consumption
replicationFactornumberNumber of replicas for fault tolerance
retentionMsnumberoptionalMessage retention period in milliseconds
compressionTypeEnum<'none' | 'gzip' | 'snappy' | 'lz4'>Message compression algorithm

On this page