I’m trying to understand the relation of concept of Eventstore and Eventbus in a distributed scenario.
I’m building an Apache Kafka based scenario with distribution of events between the command/domain side and query side. In doing so I created a mechanism of distribution very similar to the Axon AMQP implementation (so a SubscribableMessageSource and a MessageProcessor) that works well. As a next step I started to create the Kafka-based TokenStore and EventStoreEngine, which are responsible for storing Events in Kafka.
Assume the Kafka EventStore is implemented, would I then configure the Command and Query sides both use the same KafkaEventStore and would get the event distribution “for free”, or would I still rely on the message distribution in ADDITION to storage of the events?
To nail it down: are concepts of event distribution and event storage related or separated in a distributed scenario?
More practical, I have to decide about the serialization format for messages in Kafka: should they be equals for EventStorageEngine and SubscribableMessageSource?