Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

Problem Statement:

Populate the queue with multiple messages (message content can be hardcoded),
create a unique id for each message. You shall read a message from the Input
queue till the time there is a message in a queue. Please write simple processing like
just adding some string back to input JSON. Once processing is done, then write the
result back to the output queue.

Tech Stack:
Language – Java
Dependency Management – Maven
Library – kafka-clients

Prerequisites:

Kafka cluster running in local and incivus-upload-input-stream and incivus-upload-output-


stream created in local.

Steps to run the application:

Run the main method and it publishes the hardcoded message to input queue, which would
be listened by the application, input subscriber would be manipulating the object and would
be publishing it to output queue.

Note:
Kafka Partition logic yet to be implemented.

Additional work done:

Attached a Kubernetes yml file for spinning up zookeeper and kafka as Kubernetes pod’s.
Planned to dockerize the Java application and run it with multiple instance of zookeeper,
Kafka and application, but it is yet to be competed end to end, sharing the progress as if
now. This local k8’s is done via minikube

You might also like