Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jwulf/zeebe-eventstore-exporter
A Zeebe exporter to the Event Store DB
https://github.com/jwulf/zeebe-eventstore-exporter
event-sourcing eventstore microservices zeebe
Last synced: 3 months ago
JSON representation
A Zeebe exporter to the Event Store DB
- Host: GitHub
- URL: https://github.com/jwulf/zeebe-eventstore-exporter
- Owner: jwulf
- Created: 2019-05-27T17:05:27.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-24T21:45:15.000Z (7 months ago)
- Last Synced: 2024-10-31T23:51:27.858Z (3 months ago)
- Topics: event-sourcing, eventstore, microservices, zeebe
- Language: Java
- Size: 28.3 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-camunda-platform-8 - Event Store
README
# zeebe-eventstore-exporter
A Zeebe exporter to the [Event Store DB](https://eventstore.org/).## Configuration
Configure the exporter via an `[[exporters]]]` entry in the `zeebe.cfg.toml` file:
```toml
[[exporters]]
id = "demo"
className = "io.zeebe.EventStoreExporter"
[exporter.args]
# batchTimeMilli = 300
# batchSize = 100
# streamName=zeebe
# url=http://127.0.0.1:2113```
Or via environment variables:
```bash
EVENT_STORE_EXPORTER_BATCH_TIME_MILLI=300
EVENT_STORE_EXPORTER_BATCH_SIZE=100
EVENT_STORE_EXPORTER_STREAM_NAME=zeebe
EVENT_STORE_EXPORTER_URL=http://localhost:2113
```## Batching and Sending
The exporter pushes events into a queue as they are received from the broker.
The exporter runs two loops using the scheduler. The first loop batches the events from the queue into batches of the configured size configured. The second loop sends the batches to Event Store. If the connection to the Event Store database fails, this second loop implements a simple linear back-off until it recovers.
At the moment the two loops run at the same rate - apart from the scenario where the send loop is backing off. In an actual production scenario, you would code the loops depending on where the bottleneck in the system is. With the default settings (batch size: 100, batch time: 300ms), the exporter can export a maximum of 300 events / second.
# Docker
A `docker-compose` file to run the Zeebe broker with this exporter is available [here](https://github.com/zeebe-io/zeebe-docker-compose/tree/0.18).