Description
With help of the GraalVM configuration developed for KIP-974 (Docker Image for GraalVM based Native Kafka Broker),
you can easily build a self-contained native binary for Apache Kafka.
Read on to learn how you can build a native Kafka executable yourself,
starting in milli-seconds, making it a perfect fit for development and testing purposes.
When I wrote about ahead-of-time class loading and linking in Java 24 recently,
I also published the start-up time for Apache Kafka as a native binary for comparison.
This was done via Docker, as there’s no pre-built native binary of Kafka available for the operating system I’m running on, macOS.
But there is a native Kafka container image, so this is what I chose for the sake of convenience.
Now, running in a container adds a little bit of overhead of course,
so it wasn’t a surprise when Thomas Würthinger, lead of the GraalVM project at Oracle,
brought up the question what the value would be when running Kafka natively on macOS.
Needless to say I can’t leave this kind of nice nerd snipe pass,
so I set out to learn how to build a native Kafka binary on macOS, using GraalVM.