Skip to main content

Components

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

Inputs

Inputs define where data enters the pipeline.

ComponentDescription
GenerateGenerates synthetic messages on a schedule — for testing or recurring job triggers
HTTP ClientPulls data via HTTP requests
HTTP ServerAccepts incoming HTTP requests (webhooks)
KafkaConsumes messages from Kafka topics
BrokerCombines multiple inputs into one flow
CDC MySQLCDC 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 key-value state storage for components like CDC MySQL (binlog position) and Shopify (pagination cursor).

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
NoopNo-op cache for testing

See the Caches page for detailed configuration of each type.

Files

The File Manager lets you upload files that components can reference at runtime — for example, JSON Schema files for validation. Files are stored centrally and distributed to workers automatically.

Rate Limits

Rate LimitDescription
CoordinatorDistributed rate limiting across workers

Buffers

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