MassTransit.EventStoreIntegration
MassTransit.EventStoreIntegration copied to clipboard
Migrate to Event Store 20.6.0
Event Store has been updated to 20.6.0 now https://eventstore.com/blog/event-store-20.6.0-release/
And they start promoting the new gRPC client, EventStore.Client.Grpc.Streams
, and start disable TCP be default.
Will this package be updated to the new gRPC packages?
Working on it. I have to create some abstractions so I can support both TCP and gRPC.
@alexeyzimarev thanks for the super quick reply, looking forward to it.
We have migrated to Event Store 20.6.0 and the new EventStore.Client.Grpc.Streams
recently and are looking for a good solution for Event Store state machine lately. I wonder are there any packages you aware of that are also doing something similar for us to evaluate?
Basically, I already implemented all the existing features with both TCP and gRPC on 20.6. Then, I started to work on an EventStoreDB rider, both as a consumer and as a producer. Producers are easier, consumers are harder (a bit) because ideally, I'd need to support both catch-up subscriptions and persistent subscriptions. And, for catch-up subscriptions, I'd need to support client-side offset storage too.
@alexeyzimarev A similar approach to this may be used to store information for the catch-up subscription. https://github.com/eventflow/EventFlow/pull/797 See: EventStoreCheckpointStore.cs They are storing the stream position for the application inside of EventStore using a "checkpoint" stream per app.
I have done it myself many times. The issue with that is the checkpoint store in ESDB introduces writes and it gets especially nasty when standard projections are enabled. All those writes are useless, they increase the scavenge load and so on.