EventStore as pub/sub between services?

(apologies if this question seems naive)

I have a solution made of multiple services with RabbitMq. Rabbit is topic broker, pub/sub of events between the services, and each service has its own state (Postgres) and represents its own context (it’s not perfect but it works) - however, there are challenges

I’m curious about the statement in Greg’s 2014 presentation, where there are 2 types of subscription (Consumer like blog/atom-feed vs Server/AMQP)

(skipped to the part of the presentation)

The former is something which I would like to achieve (Consumer-driven with access to the history of events).

I believe this can be done with Kafka

(i skipped to the bit where it talks about the services subscribing from Kafka)

The question is

Is one of the intents for EventStore to be used like this? To replace RabbitMq as the EventBroker (similar to the Kafka presentation).

1 Like

Short answer :

Kafka is good at distributing messages in high ingress / egress scenarios , not as a database (because it lacks transactional concurrency checks )

EVentStore is good at stroing data, and allows to have guaranteed history (not kafka’s 7 days default) and chekpointing for read models, etc… , and can be used as a distribution platform bertween services ( through subscriptions
https://developers.eventstore.com/clients/grpc/subscribing-to-streams/ )

I’d recommend reading this : https://leanpub.com/esversioning/read#leanpub-auto-atom
( read the whole book , it’s good)

EventStore & Kafka is a good combination in some scenarios, if each is used for the correct reason .