Events are the primary concept on Sailhouse. The container, envelope, metaphor of choice for your data.

They are JSON objects that get sent to a topic. You can’t send an event to multiple topics, but you can send multiple events with the same data to multiple topics (although, that is likely an anti-pattern).

Using events

Limitations

For non-enterprise customers, there is a maximum event size of 4mb applied. However, if you’re hitting this limitation it’s likely an anti-pattern.

Metadata

This is currently in-development and not available for public access.

Events can have metadata attached to them. For example attaching trace-ids, or bundling publisher information.

Understanding events

Terminology

To help clear things up, here’s a list of the common

  • Asychronous - Processing in the background, in a non-blocking way
  • Event-driven - An application design which does most of it’s logic asychronously in response to logical events
  • Event - A single package of data, sent to a topic

Best practices

Commands vs Events

Sailhouse is a flexible platform enabling event-driven behaviours. However, at it’s core, it enables asy

Building a good event