Open helena opened 8 years ago
For timing/roadmap purposes, my hope is to have this PR ready in the next month, at least for review cycles, and leverage it at my kafka summit talk in April :)
@helena :+1: thanks a lot for working on it, really looking forward to see the PR.
Regarding an eventuate-kafka sub-module, we anyway plan to make Eventuate a multi-module project (see #169). So I think it's ok to initially put the Kafka integration into a separate package on the same level as cassandra
and leveldb
. It will anyway become a separate module when #169 is due (planned for the next 0.6 release). Also take a look at failure handling which has a strong impact on storage plugin implementation.
We already considered using Kafka as storage backend in the past but stopped working on it for reasons explained in #59. I still think the issues described there must be solved before Kafka can be used as storage backend.
@krasserm Sounds good :)
@krasserm I need to put this off for 2 or so weeks. If you get to it first, great. Otherwise I'll be back at it soon.
@helena thanks for letting me know. I have other priorities at the moment, so chances are very low I'll do something on this ticket :smiley:. BTW in 2 weeks #169 should be ready I think.
Sweet! K finally getting back to this.
@helena I'm about to revise the Eventuate documentation and also added an FAQ entry How does Apache Kafka relate to Eventuate? in https://github.com/RBMHTechnology/eventuate/commit/62222f8c54798fd3d934ddd9f0224e3448570334 as I've frequently heard that question. Which of the two integration options do you plan to work on? Or can you imagine another one?
Just found the new Kafka proposal for idempotent producers and transactional messaging. The idempotent producer is exactly what we need for using Kafka as event sourcing storage backend.
That's great news!
On 1 Dec 2016, at 07:46, Martin Krasser notifications@github.com wrote:
Just found the new Kafka proposal for idempotent producers and transactional messaging. The idempotent producer is exactly what we need for using Kafka as event sourcing storage backend.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
@krasserm I've started rudimentary work on this and think a separate eventuate-kafka sub-module and its KafkaEventLog etc are preferable - for people not needing Kafka and it's dependencies. While Cassandra is integrated in the eventuate core module, I don't think it wise to put my PR code in there additionally. Many of us using C* also use Kafka but it would cause bloat. Kafka is used in larger systems like I am on but smaller seem to write directly to C*.
Update by @krasserm: this ticket supersedes #59