Eventuous / connectors

Connector between EventStoreDB and other things
6 stars 0 forks source link

Projections .Net & Redis Sidecar #8

Closed lefig closed 3 weeks ago

lefig commented 1 year ago

Hi there,

Firstly, I wish to thank your for a fabulous project, great website and series of articles.

Please keep up the good work!!

I think that what would be interesting is understanding how projections could potentially work in practice. All examples that I have found been rather basis and in Javascript. and not C# I am not sure why that is the case.

A second feature suggestion is to project onto Redis. Although Redis has fabulous streams I don't think that it is as strong as eventstoredb for event sourcing but still a connector would be very beneficial. The simplest way to do this in gRPC is to use Dapr in order to broadcast events to downstream microservices.

Best regards

Fig

alexeyzimarev commented 1 year ago

All examples that I have found been rather basis and in Javascript

Could you elaborate? Do you mean ESDB embedded custom projections?

a connector would be very beneficial

The connector is in another repository, maybe you can open an issue there.

lefig commented 1 year ago

Sure thing. And thank you for coming back to me.

Regarding projections, it seems that the processing engine originally has Javascript in mind so that users are able to run custom queries using the web interface. Now, the documented examples in C# are rather simple and don't show how a complex projection query can be implemented (not just simple counting or fetching IDs) in C#.

Just a thought mind.

alexeyzimarev commented 1 year ago

I am still not sure what you mean by "projections". As I mentioned before, I suspect you mean ESDB custom projections. Eventuous has nothing to do with it. Eventuous is store-agnostic, and real model projections built with Eventuous will work with any store that supports subscriptions.

Also, I prefer not to use ESDB JS projections as they increase the number of writes, leading to degraded cluster performance in systems with high-level ingestion.

alexeyzimarev commented 3 weeks ago

Redis streams sink: #12 I am not sur about Dapr as I don't think it allows controlling the message format. Dapr expects that messages produced by Dapr sidecar are also consumed by Dapr apps. I haven't spent time looking into it.