Description
It would be nice to have a Spring Boot application that could launch a Kafka broker along with an embedded Zookeeper ensemble.
Ideally it would allow some common configuration parameters to be issued from the command line, such as the Kafka broker port, and also allow a configuration file to be used to configure additional properties. Since this aligns nicely with Spring Boot conventions, that shouldn't be too difficult.
One thing to note is that Kafka provides a KafkaEmbedded
application, which provides a broker and an embedded Zookeeper. One issue with the implementation is that it erases any state on the filesystem when it is shut down. In order for KafkaEmbedded
to be re-used as a broker, it would need to be updated or re-configured to preserve filesystem state across restarts.
There needs to be some investigation as to whether or not the existing KafkaEmbedded
broker can be used, or what changes would be required.