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

Roadmap #1

Open
travisjeffery opened this issue Nov 29, 2016 · 19 comments
Open

Roadmap #1

travisjeffery opened this issue Nov 29, 2016 · 19 comments

Comments

@travisjeffery
Copy link
Owner

travisjeffery commented Nov 29, 2016

Alright so here's what I think would be cool to accomplish with Jocko:

v1: Kafka ~= Jocko

v1 is get Jocko on par with Kafka 0.10.x. People should be able to switch out Kafka for Jocko and run it in prod. I head up the architecture at an analytics company that runs terabytes of data through Kafka everyday and I'd switch it out for Jocko.

So:

  • Implement Kafka in Go
    • With clean, easy to understand code.
    • Well tested.
    • Fast.
    • Just have to download a single binary to run it.

I've implemented Jocko so it understands Kafka's protocol. This way people can use Jocko with any client or service that works with Kafka. You'd have to make no code changes to switch from Kafka to Jocko.

Currently what's left is to implement consumer groups, replication, and benchmark/battle harden.

@sunface
Copy link

sunface commented Nov 30, 2016

excellent work!

@WanliTian
Copy link
Contributor

any plant for supporint push?

@bruth
Copy link

bruth commented Dec 1, 2016

This is great. To clarify this..

I head up the architecture at an analytics company that runs terabytes of data through Kafka everyday and I'd switch it out for Jocko.

Did you do this or do you intend to? Also do you have a list of simple tasks that early adopters or supports can help with?

@travisjeffery
Copy link
Owner Author

travisjeffery commented Dec 1, 2016

@WanliTian no. I generally don't want to be incompatible with Kafka's API for now and for this specifically, I agree with the reasoning to pull in Kafka's design documentation.

@bruth I intend to. As for contributing, consumer groups would be the simplest one I can think of and I've already added the protocols needed for that feature. But I need to add documentation and a contributing doc to help out with that but I'm focused on replication right now.

@alexkkk
Copy link

alexkkk commented Dec 26, 2016

great

@dc0d
Copy link

dc0d commented Jan 19, 2017

This is great & would be a boost for Go too! Salute!

@mlegenhausen
Copy link

Is it possible to use jocko for testing purpose right now? If yes could you provide a readme for how to start jocko?

@transitorykris
Copy link
Contributor

transitorykris commented Jan 24, 2017

@mlegenhausen I was trying to get it working tonight. Had to make some tweaks to work for me. Added a quick start guide in this PR #10

@travisjeffery
Copy link
Owner Author

Cleaned up the examples a bit: https://github.com/travisjeffery/jocko/tree/master/examples. Simple produce and fetch may work for you now given that sarama example works. You would have to create a topic like I have there — since clients don't support creating topics yet. A script for that would be a good contribution. @mlegenhausen I'd be interested to know what your outcome is, let me know in a new issue.

@curlup
Copy link

curlup commented Jan 27, 2017

Any plans on changing High-Availability options?

I'm asking because I don't like Kafka's take on ISR and stuff, I'm more of a fan of Cassandra Consistency level approach with Quorum as a sweet spot between HA and Consistency guarantees.

@nvartolomei
Copy link

@curlup probably you want to check uber/cherami-server.

@17twenty
Copy link

17twenty commented Feb 16, 2017

Any plans for getting Samza to play nicely with this? Samza still wants zookeeper which means it causes issues trying to integrate the two.

@anaray
Copy link

anaray commented May 4, 2017

Someone started on the ConsumerGroup impl? If yes, there are any design plans available?

@inancgumus
Copy link

inancgumus commented May 23, 2017

I see not enough tests, one of the goals ("well tested") are in WIP I guess? Should help.

@LeeWong
Copy link

LeeWong commented Jun 19, 2017

Any update?

@travisjeffery
Copy link
Owner Author

Project's still going.

Wrote a doc on How you can contribute today.

@alexellis
Copy link

Good work. I'm running the OpenFaaS project and working on a Kafka integration. Jocko could make development and testing much easier. I'm just trying to figure out whether we need consumer groups for MVP.

@brendanodwyer
Copy link

@travisjeffery Is there any plans to continue work on this now that you are working at Confluent? Or is progress being left solely up to the open source community? Just curious as I stumbled across this and it sounded like an interesting project to contribute to.

@travisjeffery
Copy link
Owner Author

@brendanodwyer I plan to continue at some point. I'm currently writing a book (on building distributed services actually) and that takes up my free time. In any case I'll need some help and I'll help out any who are willing to put in the work.

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