-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stream type #181
Stream type #181
Conversation
Is there anything I can do to help this along? |
Not sure how you can help right now, I would like to have some more people involved to discuss this in more detail.. I'm just not sure this is the solution, so I'm curious to other opinions and ideas. |
On the plus side, this implementation brings Broadway closer to the implementation of a few other ES implementations, as described in #120. That in itself would make it useful, I think. On the other hand, this breaks BC. I know we're not yet at 1.0, so technically that would not be a problem. In my experience however, breaking BC is always painful, especially more so when it impacts data stores 😬. So if we do go this route, I would like a more BC-friendly solution. Personally, for us at Alphacomm, we just use the DBAL Event store with different tables for each aggregate. That solves the problem nicely, and the problem as described in #120 immediately goes away as well... All in all, I'm moderately positive about the idea. With regards to naming: why not just name it something like |
I'm not sure about aggregateType, personally I'm fine with it, but as aggregate is a term related to DDD and not event sourcing per se, I'm not sure it's the best fit. @jacobkiers And I'm sorry, but BC breaks will happen... We deliberatly didn't tag a 1.0 yet for that specific reason, as we are aware that there will be more BC breaks coming. We will tag 1.0 eventually, but I would like to have more people using it to find some issues that might still exist, especially in the newer stuff like Snapshotting and the event store management stuff. |
@@ -23,11 +23,12 @@ | |||
* | |||
* @return DomainEventStreamInterface | |||
*/ | |||
public function load($id); | |||
public function load($streamType, $identifier); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$streamType
👍 or just $type
(you already know you're getting a DomainEventStreamInterface
@wjzijderveld 👍 for the work on this, it had to happen eventually. :) The sooner we merge this, the better imo.
I suggest to do the same as we currently do for events?
Yes, that'd be nice. It really depends on how you structure your own code though. I'm still thinking about this one.
See inline comment (+1 on stream type, or just type, since we're dealing with streams already). @jacobkiers A table per aggregate root? That's an interesting approach. These additions should perfectly fit your use case? |
GetEventStore calls it
|
Couldn't it be a implementation detail? I imagine a |
👍 |
1 similar comment
👍 |
👎 to your 👍 |
51e626a
to
24dc0c5
Compare
24dc0c5
to
522c884
Compare
522c884
to
e2e0631
Compare
This reverts commit afb6ca1.
a26ec17
to
cf3c3b2
Compare
Has any progress been made to snapshotting? Would be interested in taking a look! We use Broadway for a very specific sector in London and it works great, but going forward we can see snapshots becoming very useful in handling the number of events we're expecting. |
@NoelDavies I was looking into snapshotting myself last week. I started with a basic snapshotting repository and a snapshotting aware event store. I will submit a POC. |
I'm not too familiar with GitHub but is the branch below with the passing checks the POC @othillo was talking about? |
@mhightower you can find my POC at https://github.com/othillo/broadway-snapshotting |
@wjzijderveld what is the status of this PR? |
We eventually decided not to continue with this, but decided to configure different event stores. So we never finished this integration. I'll close this for now, if somebody wants to continue on this we can reopen, but it is already so old, that simply opening a new PR might be easier. |
This is a start to add the stream type (in most cases the Aggregate Root) to the EventStore.
Still TODO: