Supported Exporters
The following export drivers are available:| Driver | Description |
|---|---|
clickhouse | Export to ClickHouse database |
elasticsearch | Export to Elasticsearch |
http | Export to any HTTP endpoint |
stdout | Output to standard output (useful for debugging) |
Architecture
The export system consists of two main components:Exporters
Define where and how to send data. An exporter contains the connection configuration and driver type for the destination system.
Pipelines
Define which ledger sends data to which exporter. Each pipeline connects one ledger to one exporter, enabling independent data flows.
Creating an Exporter
An exporter defines the destination and configuration for exported data.ClickHouse Example
Elasticsearch Example
HTTP Example
Creating a Pipeline
A pipeline connects a ledger to an exporter. Once created, all new transaction logs from that ledger are exported through the specified exporter.Managing Pipelines
List Pipelines
Get Pipeline State
Start/Stop Pipeline
Reset Pipeline
Reset the pipeline cursor to re-export logs from the beginning:Delete Pipeline
Managing Exporters
List Exporters
Get Exporter State
Delete Exporter
Throughput and Rate Limiting
You can attach multiple ledgers (pipelines) to the same exporter. This design allows you to control throughput and parallelism while avoiding rate limits on external systems.Why use multiple pipelines?
- Avoid rate limits: Some external sinks (e.g., Elasticsearch, HTTP APIs) may rate-limit incoming writes
- Better concurrency: Spread load across multiple pipelines instead of one handling massive volume
- Isolation: Each ledger maintains its own export pipeline, ensuring independent data flows
- Scalability: Simplify scaling strategies by partitioning exports by ledger
Example: Multi-ledger setup
Connect multiple ledgers to the same ClickHouse exporter:- Prevent overload of a single export stream
- Simplify scaling strategies
- Centralize monitoring of export targets
Summary
| Component | Purpose | Example |
|---|---|---|
| Exporter | Defines the destination (ClickHouse, HTTP, etc.) | clickhouse://... |
| Pipeline | Connects a ledger to an exporter | ledger-002 → clickhouse exporter |
| Multiple Pipelines per Exporter | Improves throughput, avoids rate limits | ledger-001, ledger-002, ledger-003 → same exporter |
For webhook-style event publishing on Formance Cloud, see also Webhooks and Events Publishers for HTTP and Kafka publishing options available in earlier versions.