days
-6
-1
hours
0
-1
minutes
-5
-5
seconds
-1
-1
search
Write apps with Azkarra

Azkarra Streams: Java microframework boosts Kafka Streams

Sarah Schlothauer
© Shutterstock / Valeria Vechterova

A new lightweight Java framework for Kafka Streams has been announced by StreamThoughts. It aims to improve the Kafka Streams ecosystem and includes a web-based, interactive user interface that helps with administrative tasks and offers a simple DAG representation. Take your first steps with Azkarra Streams and its interactive queries and start writing your app.

StreamThoughts, a tech consulting company focusing on real-time data streaming, introduced Azkarra Streams. This new open source Java framework helps programmers develop and deploy multiple Kafka Streams apps. With it, you can quickly create (and debug) stand-alone Kafka stream applications.

The project helps add to the Kafka Streams ecosystem and since it is a ‘micro-framework’, it is small and lightweight.

Let’s see an overview of this new micro-framework and how it helps.

    In a cloud native world enamored with microservices and serverless, meet Quarkus – Java’s brilliant response to technologies like Node.js, Python and Go that had proven quicker, smaller and arguably more nimble. Download your free beginner's tutorial written by JAX London speaker Alex Soto.

Azkarra Streams features

Azkarra Streams is the first microframework for Kafka Stream, which is a client library for building apps and microservices. In Kafka Streams, data is stored in Kafka clusters. You can use Kafka Streams to deploy to containers and virtual machines, and write Java (and Scala) applications.

From the Azkarra Streams GitHub README, its features include:

  • Create stand-alone Kafka Streams applications.
  • Easy externalization of Topology and Kafka Streams configurations (using Typesafe Config).
  • Embedded http server (Undertow).
  • Embedded WebUI for topologies visualization.
  • Provide production-ready features such as metrics, health checks, dead-letter-queues.
  • Encryption and Authentication with SSL or Basic Auth.

Using it will enable you to focus more on writing what’s important: your Kafka Streams topologies code.

User interface

By default, Azkarra Streams makes things even easier with an embedded web-based user interface. Inside the UI, you can stop and restart applications, view your active streams, and explore your metrics in one simple place, all at a glance.

Users can also view explore their data structures. View a simple DAG (directed acyclic graph) representation of your streams.

Exploring DAG representation in the UI. Source.

SEE ALSO: Test-driven Java development vs. traditional testing: Comparative study

Interactive queries

From the announcement post by StreamThought co-founder Florian Hussonnois:

Finally, Kafka Streams has a great mechanism to query the states materialized by streams applications. Usually, as developers we build HTTP endpoints to expose these states using the public Kafka Streams API.

Azkarra Streams provides a default endpoint for that purpose which is accessible directly through the Azkarra WebUI.

Users can query a specified key under the “interactive queries” tab in the user interface. Just set up your option and parameters, and then execute.

SEE ALSO: The crossover skills of tomorrow’s blockchain developer

Get started

Prerequisites for it includes: an IDE or text editor, Java 11, Maven version 3+, and Docker.

View the getting started guide for an introduction to the tutorial and the developer guide for a deeper introduction about how it works. Be sure to also check out StreamThought’s other open source repositories for Apache Kafka.

Grab the examples on GitHub and give it a test run. Before running the example, you will need to start a Kafka Cluster. Start a single-node Kafka Cluster with the file docker-compose.yml.

Help out and keep the issue tracker up to date for even better, more mature future releases with improvements and new features.

Author
Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is an assistant editor for JAXenter.com. She received her Bachelor's degree from Monmouth University and is currently enrolled at Goethe University in Frankfurt, Germany where she is working on her Masters. She lives in Frankfurt with her husband and cat. She is also the editor for Conditio Humana, an online magazine about ethics, AI, and technology.

Leave a Reply

Be the First to Comment!

avatar
400
  Subscribe  
Notify of