Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MrSaints/zeebe-nats-streaming-exporter
[INACTIVE] An exporter for Zeebe to publish records NATS Streaming Server (STAN).
https://github.com/MrSaints/zeebe-nats-streaming-exporter
nats nats-streaming natsio postgresql stan zeebe zeebe-exporter
Last synced: 3 months ago
JSON representation
[INACTIVE] An exporter for Zeebe to publish records NATS Streaming Server (STAN).
- Host: GitHub
- URL: https://github.com/MrSaints/zeebe-nats-streaming-exporter
- Owner: MrSaints
- License: other
- Archived: true
- Created: 2020-03-04T22:45:26.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-21T15:44:17.000Z (almost 5 years ago)
- Last Synced: 2024-05-16T10:42:35.886Z (9 months ago)
- Topics: nats, nats-streaming, natsio, postgresql, stan, zeebe, zeebe-exporter
- Language: Go
- Homepage:
- Size: 52.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-camunda-platform-8 - NATS Streaming Server
README
# zeebe-nats-streaming-exporter
**WARNING: This is not ready for production. Please use at your own risk.**
An exporter for [Zeebe](https://github.com/zeebe-io/zeebe) to publish records [NATS Streaming Server (STAN)](https://nats.io/).
---
## Getting Started
As this project is still in development, there are no pre-built JARs.
To use this with Zeebe:
1. `mvn package`
2. Copy the self-contained JAR (`target/zeebe-nats-streaming-exporter-$VERSION-jar-with-dependencies.jar`) to Zeebe `lib`
3. Register the exporter by adding the following to `zeebe.cfg.toml`:```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"
```## Exported Data
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`:
```diff
[exporters.args]
# ... other configuration ...
- format = "proto"
+ format = "json"
```The protobuf schema definition can be found in [`zeebe-exporter-protobuf`](https://github.com/zeebe-io/zeebe-exporter-protobuf/).
## Caveats
- 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`## Boring Stuff
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.
## Acknowledgements
This project draws heavy inspiration from [Zeebe Simple Monitor](https://github.com/zeebe-io/zeebe-simple-monitor), and [Zeebe Hazelcast Exporter](https://github.com/zeebe-io/zeebe-hazelcast-exporter). Without them, this would not have been possible.