Skip to content
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

Kafka Exactly Once implications #2

Open
ralph-tice opened this issue Jul 10, 2017 · 1 comment
Open

Kafka Exactly Once implications #2

ralph-tice opened this issue Jul 10, 2017 · 1 comment

Comments

@ralph-tice
Copy link

Hi!

Awesome project! Can some information be added about how Kafka 0.11's exactly once functionality will or won't be incorporated into this work? Are they complementary or orthogonal?

@adamw
Copy link
Member

adamw commented Jul 10, 2017

I've been meaning to do that but didn't yet manage to :)

There are two ways in which you could leverage Kafka's new features in the kmq context:

  • idempotent producers: that's a great way to reduce duplicate processing by eliminating duplicate message sends (so you won't get re-processing because of producer failures). No changes to kmq are necessary here, you just send the messages a bit differently
  • transactions: maybe it would be possible to combine writing the consumed offsets and writing the markers into an atomic unit, decreasing the number of message re-processed on the consumer side

However, keep in mind that you'll still get at-least-once processing when interfacing with external clients - there's no way to help with that (*), and re-processing failed messages is the whole point of kmq

(*) unless your client is transactional and can store current message offset, but then you would just use plain Kafka consumers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants