WARNING: This is not ready for production. Please use at your own risk.
An exporter for Zeebe to publish records NATS Streaming Server (STAN).
As this project is still in development, there are no pre-built JARs.
To use this with Zeebe:
mvn package
- Copy the self-contained JAR (
target/zeebe-nats-streaming-exporter-$VERSION-jar-with-dependencies.jar
) to Zeebelib
- Register the exporter by adding the following to
zeebe.cfg.toml
:
[[exporters]]
id = "nats-streaming"
className = "com.fyianlai.zeebe.exporter.nats.NatsStreamingExporter"
[exporters.args]
# The available configuration options, and their defaults are below.
# Uncomment, and configure accordingly.
serverUrl = "nats://localhost"
clusterId = "zeebe"
clientIdPrefix = "zeebe-exporter-"
channel = "zeebe"
maxPubAcksInFlight = 10000
format = "proto"
By default, the data that is exported will be in proto
format.
The format can be changed to json
by configuring the following in zeebe.cfg.toml
:
[exporters.args]
# ... other configuration ...
- format = "proto"
+ format = "json"
The protobuf schema definition can be found in zeebe-exporter-protobuf
.
- No auto-reconnect if NATS Streaming Server goes down or if there are any intermittent connectivity problems
- If the number of published messages that goes unacknowledged reaches
maxPubAcksInFlight
, no further messages will be published, and the last exported record cursor will not be updated - There is currently no plan for filtering messages before they are published, as this exporter solution is intended as a quick fire-and-forget
- For a similar reason to the previous point, there is also currently no plan for routing messages based on their
ValueType
The MrSaints/zeebe-nats-streaming-exporter
project is NEITHER AFFILIATED WITH NOR ENDORSED BY the offficial Zeebe project or Camunda.
Please use this project at your own discretion.
This project draws heavy inspiration from Zeebe Simple Monitor, and Zeebe Hazelcast Exporter. Without them, this would not have been possible.