Hi
As discussed yesterday, we need a general event store that can persist relevant events off
the bus. However we didn't decide where this functionality should reside, whether in
an existing component or in a new component.
Although it could be provided as a separate component, I am not sure we have any use cases
where it would be used independent of the bus, so think it is probably best to include it
as additional functionality within the Bus component.
Agree/disagree?
The other issues are:
- how to determine which events should be persisted, as we may want some events to trigger
further processing by subscribers on the bus, but not necessarily be stored for historic
analysis.
- for the event store we will need to know the type of the event being stored
So one possible solution to both these issues is, if the 'type' of the event is
provided (possibly as a header value), then it will be persisted?
Then within Elasticsearch, we can use the tenant/persona as the Index (to truly segment
the data) and the event type to ensure different information types are partitioned/indexed
appropriately.
Thoughts?
Regards
Gary