Kafka Streams
Where to start with Kafka Streams?
We’re providing an example you can try and fork: https://github.com/conduktor/kafka-streams-wordcount-topology It will start a typical Kafka Streams application and expose an HTTP API to be connected to Conduktor (optional). This way, you can monitor your application state, topics, statestores etc.How to import a Topology inside Conduktor, and why?
Kafka Streams applications are outside of the scope of Kafka itself, they can be running anywhere. They generally work with many topics (in/out/internal/intermediates) and can be reset when you want to start it fresh again. Conduktor can help you monitoring these applications, and the topics being used. To do so, go to the Kafka Streams menu and click onIMPORT TOPOLOGY,
then:
- Specify the
application.id
of your application - Specify the topology
- Static: paste your topology directly inside Conduktor
- by URL: paste the endpoint of your application exposing its topology.
- Conduktor will automatically fetch it regularly, adapt the metrics accordingly, and warn you if it’s down
myapplicationid
and exposing a endpoint /topology
:



How do I retrieve my Topology description?
You need access to yourTopology
object in your Java/Scala/Kotlin code.
For instance, when your program starts, you can simply emit the Topology on stdout to copy/paste it:
"/topology"
that returns the result of topology.describe()
, that you can use in Conduktor.
How to reset a Kafka Streams Application?
Conduktor can help you in two ways:- Do it manually by specifying all of topics in/out/internals/intermediate. It’s not super practical.
- Do it with all topics already set because you imported the Topology within Conduktor already

