Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 31 2019 19:32

    prolic on v1.10.3

    (compare)

  • Jan 31 2019 19:32

    prolic on master

    update changelog (compare)

  • Jan 31 2019 19:29
    prolic closed #176
  • Jan 31 2019 19:28
    prolic commented #186
  • Jan 31 2019 19:28
    prolic closed #186
  • Jan 31 2019 19:28

    prolic on master

    fix restarting projection durin… respect lock in memory resetting projection and 12 more (compare)

  • Jan 31 2019 16:26
    fritz-gerneth commented #189
  • Jan 31 2019 16:21
    prolic commented #189
  • Jan 31 2019 16:06
    sandrokeil commented #189
  • Jan 31 2019 15:31
    grzegorzstachniukalm synchronize #186
  • Jan 31 2019 15:23
    kamil-nawrotkiewicz edited #76
  • Jan 31 2019 15:22
    kamil-nawrotkiewicz edited #76
  • Jan 31 2019 15:22
    kamil-nawrotkiewicz opened #76
  • Jan 31 2019 15:19
    grzegorzstachniukalm synchronize #186
  • Jan 31 2019 15:09
    grzegorzstachniukalm synchronize #186
  • Jan 31 2019 13:54
    coveralls commented #186
  • Jan 31 2019 13:48
    mrook commented #189
  • Jan 31 2019 13:41
    prolic commented #189
  • Jan 31 2019 13:40
    prolic commented #189
  • Jan 31 2019 13:31
    fritz-gerneth commented #189
Zacharias
@netiul
/** 
  * @psalm-var list<array{0: string, 1: string}>
  */
private array $associations = [];
Alexander Miertsch
@codeliner
Hey guys prooph software and Insecia are sponsoring EventSourcing.Live next week: https://2021.eventsourcing.live/
If you don't have a ticket yet and would like to buy one with a 15% discount: DM me for a link!
Christof and me will also do a talk: "From Event Storming to working code": https://2021.eventsourcing.live/talks/from-event-storming-to-working-code
that will demonstrate what you can do with a visual model on prooph board and a coding bot that understands the model and can turn it into event sourced code (incl. frontend)
Alexander Miertsch
@codeliner
@prolic it's this time of the year where something seems to be wrong with the https://getprooph.org/ certificate. Do you also get certificate error?
Sascha-Oliver Prolic
@prolic
Same error here. I try to have a look this weekend.
Good luck with the conference. I hope it'll be great.
Alexander Miertsch
@codeliner
thx!
Sascha-Oliver Prolic
@prolic
dns propagation taking place now, website not available for a short time
Sascha-Oliver Prolic
@prolic
@codeliner can you verify? looking good for me again.
Alexander Miertsch
@codeliner
@prolic yeah, looks good :tada:
Bradley Weston
@bweston92
Just a quick one, has anyone come across using both event store and a message bus?
I've been connecting all my apps to the same event store and using projections to aggregate streams and consume them with persistent subscriptions in my projections.
However I feel like maybe I shouldn't be connecting everything to the event store instead of persistent subscriptions have something fire them onto a pubsub system instead when it goes across boundaries and for BFF services...
Thoughts?
Fritz Gerneth
@fritz-gerneth
@bweston92 we heavily rely on events published to a message bus. mostly for cross-context communication / processes or anything we do not want to be re-done should we reset a readmodel (e.g. notifications). also, many of our processes are based on this (stateless)
Bradley Weston
@bweston92
@fritz-gerneth do you also use an event store for your aggregates? If so how do you replay events to an individual read model, have you made internal tooling for it?
Fritz Gerneth
@fritz-gerneth
@bweston92 we're using the pdo-event-store / projections. We don't replay events, but start consuming streams from the beginning
Bradley Weston
@bweston92
Ahh ok
Fritz Gerneth
@fritz-gerneth
( delete / recreate essentially )
Bradley Weston
@bweston92
So here is what I have currently, but with way more contexts, each cloud is a separate project basically and each rectangle is a deployment
download.png
Bradley Weston
@bweston92
however as I am now getting more and more contexts I think the eventstore will probably restrict me a little bit
and think the following might be better
download (1).png
Fritz Gerneth
@fritz-gerneth
i.e. add a publisher in between to off-load work from the ES to a queue
I've been playing with this a bit myself, mostly because mysql does not support subscriptions
the two major things to take care of here are:
  • how can you detect gaps in your stream (i.e. ensure messages are consumed in order, not every queue guarantees this)
  • how can you get access to historic events (i.e. when you create a new projection and want to / need to start from the very beginning of a stream)
so I was/am aiming for a hybrid approach, use event store to get up to date, then stay up to date with pubsub
Bradley Weston
@bweston92
so them 2 issues you've explained, I have thought about both with no real solution other then write tooling
Fritz Gerneth
@fritz-gerneth
nothing there out of the box, yes
Bradley Weston
@bweston92
event order can be determined by aggregate identifiers and versions and if there is a missed event send it away for a while until it gets it, if not then report an error I suppose? but then when replaying would use a lot of resources to handle this
and the second one would be to send directly to a subscription from all the stream sources it cares about
Fritz Gerneth
@fritz-gerneth
tbh.. I gave up on this after a while.. I had ideas how to handle all these, but the effort wasn't just worth it
Bradley Weston
@bweston92
is the trade off worth it :'(
just about to say that yeah
but the more I get eventstore to do the slower and harder it will get
Fritz Gerneth
@fritz-gerneth
do you think this or measured this?
Bradley Weston
@bweston92
bit of both, eventstore when having lots of running projections aggregating different streams becomes slow
Fritz Gerneth
@fritz-gerneth
we have about 100 projections running and we still can scale the ES (aws rds instance)
but then I don't know the eventstore.org :)
you can still start splitting them up, but have read models on ES directly
from the graph you're doing both at the same time?
Bradley Weston
@bweston92
ES has the projections that aggregate streams, the resulting streams from that aggregation a projection that writes it to a local read model uses a persistent subscription on the result stream
Fritz Gerneth
@fritz-gerneth
we did delegate this in a query-bus instead
Bradley Weston
@bweston92
the query bus would only read from the local projection
Fritz Gerneth
@fritz-gerneth
do they need to?
Bradley Weston
@bweston92
yes, because that is where the data is formatted for each api endpoint response type
Fritz Gerneth
@fritz-gerneth
formatted = stored I assume?
Bradley Weston
@bweston92
stored in the way the consumers of that endpoint will want it
@prolic / @codeliner you have any thoughts on this?
Fritz Gerneth
@fritz-gerneth
all in all it sounds like an issue scaling the eventstore to more projections though
Bradley Weston
@bweston92
yes, but also means I don't have to use event sourcing for everything either :| for smaller stuff I could just just an outbox that pushes it onto a message broker
Fritz Gerneth
@fritz-gerneth
that's the part where we use the MQ, for anything that doesn't need to be replayed in the future :)