Profile picture
Jay Kreps @jaykreps
, 7 tweets, 2 min read Read on Twitter
1/ Faust is a python library from for stream processing with @apachekafka from @RobinhoodApp. I think it's really cool. It highlights one of the things I think we got right with Kafka Streams: supporting stream processing in Kafka at the protocol level. github.com/robinhood/faust
2/ This means having a model in Kafka's core protocol for elastic scalability, partitioning, stateful processing, and transactionally correct processing that covers both input, output, and state changes but is decoupled from any implementation of code that does this processing.
3/ This functionality is all part of core Kafka and supported in the consumer/producer APIs (albeit in a low-level way).
Kafka Streams is really just a Java library that uses this protocol and gives reusable operators, but our hope is that will come to exist in every language.
4/ This is the better architecture because there isn't really one interface to rule them all for stream processing. There is lots of room for innovation here, in lots of languages, but all have to solve these core problems and should be able to exchange streams of events.
5/ Other system try to achieve language support by wrapping python around a JVM and piping data back and forth through standard in/out. That's disgusting and exactly as clunky as it sounds. You don't want a JVM strapped to the back of your little event-driven python microservice.
6/ Kafka Streams is great, but there are many possible interfaces: KSQL, FaaS, etc. I'm waiting for some to make something more like a spreadsheet (spreadsheets are a lot like stream processing!).
7/ The way Faust makes things feel Pythonic is really nice! Lot of room for other interfaces like this. What's key is that all of these interfaces can talk to each other via the same Kafka streams. A stream is a stream whether you made it with SQL, Java, or Python.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Jay Kreps
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!