-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Exactly-once semantics #321
Comments
Hi Nikolay, |
We definitely need it. It is a must for some applications where are some critical parts that need to ensure exactly-once delivery. And now it is easier than ever to implement: We are using a Python faust which is a Stream Processing library with Exactly-Once Semantics available. And we want to switch to GoLang and the only thing which is stopping us is that there is no Streams Processing library with exactly-once semantics in GoLang. |
Absolutely, I understand the necessity of this. It's simply a matter of time and ressources, so we have to evaluate how easy/fast it is to add this to the framework and if it's worth the effort. Let me check in the next days (or feel free to give it a look too), but I can't promise anything. |
As a little bit of self promotion, my franz-go client has EOS support, if the problem for supporting EOS in goka is due to sarama's lack of EOS support. |
It looks like sarama simply does not support transactions, therefore no EOS, and apparently no one is working on it. Replacing the underlying library with something else like franz-go sounds like quite a major change, since goka is quite tightly coupled to sarama. Also I'd really like to give it a try, so thanks for the hint @twmb :) |
Currently, Sarama added transactional API from version v1.37.2, Here is a good article showing the implementation of transactions in producer/consumer - https://www.andreamedda.com/posts/play-with-sarama-transactional-api |
Is the exactly-once semantics added to the road map of the library? Would be very nice to have it. As it is the most wanted semantics in the stream processing realm.
The text was updated successfully, but these errors were encountered: