Add a blog post talking about kafkakitty

This commit is contained in:
R Tyler Croy 2019-12-08 13:26:44 -08:00
parent ba2ea190eb
commit d3f301ab9a
No known key found for this signature in database
GPG Key ID: E5C92681BEF6CEA2
3 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,53 @@
layout: post
title: "Visualizing Kafka streams with Kafkakitty"
- kafka
- kafkakitty
- rust
People will sometimes look at my screen covered in terminal windows
overflowing with text: "how do read all that?" These moments remind
me how inscrutable backend development can appear to the outsider. Today I
would like to introduce a tool that I hope makes a some parts a _little_ more
easy to understand: [Kafkakitty](
Kafkakitty is a kafkacat-inspired utility which brings Kafka messages to your
browser in real-time. Building on the concepts I explored with a project years
ago titled
[Offtopic](, Kafkakitty is a tiny
web application which you can run locally to provide a nice user interface to a
set of Kafka streams.
![Kafkakitty in action](
At the end of practically every week, I have invited the Core Platform team to
"find your square on the carpet for show-and-tell." The goal of show-and-tell
is to share something you have learned this week, document a failed approach,
or show something off. For a period of time, we had a _lot_ of exploratory work
with [Apache Kafka]( Like most pieces of backend
infrastructure, Apache Kafka does not "demo well." As one project continued
across multiple weeks, demos often times would just be two terminals: one
running our software, another running
[kafkacat]( "Two terminals"
became a running gag for the team. "Hold on a sec, let me get two terminals
Kafkakitty is a single binary like `kafkacat`, and similarly Kafkakitty can be
run on your local machine and consume from a remote Kafka cluster. Unlike
`kafkacat` however, Kafkakitty relies on your browser to provide a richer
visualization of the messages arriving in the specified topics.
Built in [Rust]( and [Vue.js](, the
project is in its early stages but works quite well for me against
unauthenticated Kafka environments.
I'm hoping it will prove useful for more people to understand Kafka and the
events which backend systems are relaying through the system. Maybe it will
even replace the "two terminals" demo sometime soon!

tag/ Normal file
View File

@ -0,0 +1,6 @@
layout: tag_page
title: "Tag: firefox"
tag: firefox
robots: noindex

tag/ Normal file
View File

@ -0,0 +1,6 @@
layout: tag_page
title: "Tag: kafkakitty"
tag: kafkakitty
robots: noindex