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

direct zookeeper integration #21

Open
cainus opened this issue Oct 17, 2012 · 12 comments
Open

direct zookeeper integration #21

cainus opened this issue Oct 17, 2012 · 12 comments

Comments

@cainus
Copy link
Owner

cainus commented Oct 17, 2012

No description provided.

@tommedema
Copy link

Maybe 'zookeeper integration' is not an objective itself but rather the functionality that it would provide, such as automatic broker discovery and broker reconnection.

@Sedward
Copy link
Collaborator

Sedward commented Oct 28, 2012

The Kafka driver design docs outline the specific responsibilities of Zookeeper within the Kafka driver. I think that just saying "Zookeeper integration" is a broad term used to outline them all but for the sake of github issues we could break them down into their specific tasks.

@devoncrouse
Copy link

It's not quite ready for a pull request, but I'm working actively on a Zookeeper client implementation for enumerating brokers and storing consumer group offsets. It's a few small TODO's from being basically functional (see the README for my initial use-case). Your feedback/suggestions are welcome.

https://github.com/devoncrouse/Prozess

@cainus
Copy link
Owner Author

cainus commented Jul 17, 2013

Awesome. :)

If I was going to do this, I'd start it as a new node package/project on its own (one that uses Prozess). You can still slap "Prozess" into the name if you want (or not), and we'd probably be able to contribute too. There are a few reasons that that makes a better factoring, most importantly being the fact that there are still some use-cases for lower-level clients, so I'd hate to abstract away the ability to store offsets elsewhere.

In general though I've been sold on the node aesthetic of keeping tiny libraries that build on top of other libraries. For instance, I'm almost certainly about to build a KafkaReadableStream, and that'll be a new package entirely (one that uses Prozess). KnowWhatIMean?

I can help you out with starting a new project/package too, if you've never done that before (package files, travis integration, etc). I'd love to see you slay this dragon, because it's something we'll need sooner or later ourselves.

@Sedward
Copy link
Collaborator

Sedward commented Jul 17, 2013

What zookeeper client are you integrating? I was originally looking at this client https://github.com/yfinkelstein/node-zookeeper

@devoncrouse
Copy link

I can definitely do that. Might ping you for questions on Travis when that time comes, but TDD didn't happen for this one and that time will be...later :)

@devoncrouse
Copy link

Yes, yfinkelstein/node-zookeeper is the one. Not using znode watches yet, but I plan to.

@Sedward
Copy link
Collaborator

Sedward commented Jul 17, 2013

Did you npm install it? I don't see it listed in package.json. Thanks for
getting into this by the way

On Wed, Jul 17, 2013 at 10:32 AM, Devon Crouse [email protected]:

Yes, yfinkelstein/node-zookeeper is the one. Not using znode watches yet,
but I plan to.


Reply to this email directly or view it on GitHubhttps://github.com//issues/21#issuecomment-21129776
.

@devoncrouse
Copy link

You're right; I haven't added the dependency yet. And very happy to help - the Kafka clients of the world need some love...

@devoncrouse
Copy link

https://github.com/devoncrouse/node-kafka-zookeeper

I'll keep working on it; last night I got it consuming from all brokers/partitions, but there are still bugs. I'm guessing we can close this issue if Zk is no longer on the road map for Prozess. Contribution/feedback on node-kafka-zookeeper is more than welcome, of course.

@Sedward
Copy link
Collaborator

Sedward commented Jul 17, 2013

I guess that seems like the right thing to do. We will want to note it in
the Prozess README and point people to the Zookeeper Consumer.

On Wed, Jul 17, 2013 at 11:06 AM, Devon Crouse [email protected]:

https://github.com/devoncrouse/node-kafka-zookeeper

I'll keep working on it; last night I got it consuming from all
brokers/partitions, but there are still bugs. I'm guessing we can close
this issue if Zk is no longer on the road map for Prozess.
Contribution/feedback on node-kafka-zookeeper is more than welcome, of
course.


Reply to this email directly or view it on GitHubhttps://github.com//issues/21#issuecomment-21132235
.

@joestein
Copy link

What about using https://github.com/adobe-research/libkafka for supporting 0.8 or the C library https://github.com/edenhill/librdkafka might be better? The offsets to be managed could be handed over to the implementer through a callback function and let the node app manage it. this would be a cool feature. could also support something built in so folks dont have to implement something if they need something that just works out of the box to start. i have been considering whipping up a rest service for this type of thing, could have the client to that service post the changes to zookeeper... so integrate zookeeper through a rest interface with a C end point. any interest?

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

5 participants