To ensure seamless integration with infrastructure solutions and address common challenges like idempotency, we needed to choose an event format for usage ingestion.
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.
- CloudEvents
- Custom Format
We have chosen CloudEvents.
- 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.