Hi,
I’m currently evaluating Event Store for use in our DDD + CQRS/ES architecture. So far I’m very excited to look deeper into it, but I do have a few simple questions:
Is there an upper limit on how many events a stream can contain? I’m aware that there is a 2bn limit on the event Id per stream - but what about projections with linked events?
I’m asking because I thought about using Event Store for messaging between bounded contexts - i.e. I need to be able to get all events for certain aggregates. Example: I thought about writing the per-aggregate events to streams such as {boundedcontext}{aggregate}-{id} - which should mean that I could just subscribe to all events of the {boundedcontext}{aggregate} stream in order to initialise and update my new bounded context (which would then handle and transform the event into a context-specific event and update the read store in the new BC accordingly).
The alternative would be to add some reliable messaging between the contexts - but Event Store is already a pub/sub system…
*How are categories determined?*Is this just a split on the last “-”? Can I safely use underscore like above, potentially creating categories such as {tenant}{boundedcontext}{aggregate} for streams {tenant}{boundedcontext}{aggregate}-{id}?
Or would it just be best to write my own projections for this?
Regards,
Thomas