Event Format
To ensure seamless integration with infrastructure solutions and address common challenges like idempotency, we needed to choose an event format for usage ingestion.
Context and Problem Statement
The event format needed to fulfill the following requirements:
- Integration with cloud infrastructure solutions.
- Support for multiple programming languages.
- Compatibility with various transport layers.
- Flexible payload definition.
- Support for batch ingestion.
- Uniqueness enforcement.
- Source and subject description.
- Uniqueness definition.
Considered Options
- CloudEvents
- Custom Format
Decision Outcome
We have chosen CloudEvents.
Consequences
- Pros: CloudEvents is a well-defined specification.
- Pros: CloudEvents enjoys strong support across various transports, languages, and libraries.
- Cons: CloudEvents may not provide sufficient specificity regarding payload requirements.