Open hastebrot opened 6 years ago
Inspiration for architecture:
For our purposes, we needed something that:
- Starts/stops ultra quickly.
- Easily testable outside of an HTTP container, and testing should require little to no custom infrastructure.
- Provides typesafe HTTP message deconstruction/construction (in this case via Lenses).
- Automatically deals with contract breaches (missing/invalid params etc) to remove boilerplate.
- Absolutely no magic involved: No reflection. No annotations.
- Minimal dependencies (apart from the Kotlin StdLib, http4k-core has zero).
- Automatic generation of OpenApi/Swagger documentation (including JSON Schema models).
- Has a symmetric server/client API (HttpHandler should just be Request -> Response).
- Has immutable Request/Response objects.
We use a Message Broker as building block of our message-oriented middleware, which is an architectural software pattern.
It uses publish/subscribe and can be responsible for aggregration, decomposing and recomposing, validation, transformation, routing of messages, and can be extended for storage and transaction.
We want a message store for message record and replay. There should be no CQRS or ES needed for message replay.
More: