reym
Streams

Introduction

Messaging and Event Sourcing

Our Streams service is a powerful tool for building event-driven architectures. It allows you to publish, subscribe to, and query events.

Tenancy

The service supports multi-tenancy, allowing you to isolate data between tenants. Therefore every request must specify the id of the tenant being used.

Groups

Every subscription to events is part of a group. In case you scale your application horizontally, you can use groups to ensure that only one instance of your application processes events for a given group at a time. This is useful for load balancing and ensuring that events are processed in a single instance, preventing duplicate processing of events.

Broadcast events

You can use the broadcast feature to send events to all subscribers in a group.

Broadcast events

Broadcast events are not persisted. Use them for events that do not require persistence, such as notifications or real-time updates.

Event topics with partial persistence

By default, events are persisted in the database. However, you can configure the service to only persist events until they are consumed by a list of relevant consumers.

Use the CONFIG_FILE environment variable to configure the path to the configuration file.

The configuration file is a YAML file with the following structure:

deleteAfterConsumption:
  topicNameHere:
    requiredConsumptionGroups:
      - appA
      - appB