Skip to main content

Components

Components are the building blocks of streams. Each stream uses one input, zero or more processors, and one output.

Inputs

Inputs define where data enters the pipeline.

ComponentDescription
GenerateGenerates synthetic messages for testing
HTTP ClientPulls data via HTTP requests
HTTP ServerAccepts incoming HTTP requests (webhooks)
KafkaConsumes messages from Kafka topics
BrokerCombines multiple inputs into one stream
MySQL ReplicationCDC from MySQL/MariaDB binlog
ShopifyFetches data from Shopify stores

Processors

Processors transform, validate, or route messages within the pipeline.

ComponentDescription
MappingBloblang transformations
JSON SchemaValidates messages against a JSON schema
CatchError handling — runs processors on failure
SwitchConditional processing based on message content
Schema Registry DecodeDecodes Avro messages via Schema Registry

Outputs

Outputs define where data is delivered.

ComponentDescription
HTTP ClientSends data via HTTP requests
KafkaProduces messages to Kafka topics
SQL InsertInserts rows into SQL databases
Sync ResponseReturns response to HTTP Server input
SwitchConditional routing to different outputs
BrokerRoutes messages to multiple outputs

Other Components

Caches

Caches provide state storage for components like Shopify position tracking.

CacheDescription
MemoryIn-memory with TTL
RedisDistributed caching
MemcachedDistributed memory caching
FileFile-based persistence
LRULeast Recently Used with capacity limits
TTLRUTTL-aware LRU
RistrettoHigh-performance cache

Rate Limits

Rate LimitDescription
CoordinatorDistributed rate limiting across workers

Buffers

BufferDescription
MemoryIn-memory buffering
SQLitePersistent at-least-once delivery
System WindowTime-based windowing