Src: https://kafka.apache.org/

Before diving into the producer configurations, let us understand how the producer sends the data to Kafka. Kafka stores the messages in the topic, which are further broken into partitions. Producers send the messages to the topic with keys. If there is no key with the value, it will follow a round-robin process to select the partition for storage. The data can be sent synchronously or asynchronously by Producers.

By default, data is sent asynchronously. In it, when send() is called, messages are not actually sent, instead they are collected in the buffer and sent later. …


In recent years, GoLang has become popular backend language for web development. In this article I will tell you

  1. How to create GoLang project.
  2. Creating server, routes and pages using net/http module.
  3. Separating the code into api files for large number of paths.

For practise you can find the sample code on this link.

Creating the Project

Someone can find creating project, importing the files as complicated, but once you know it is very easy. Install the go on your laptop either using brew install go or from the Golang website.

Create folder for your project.

mkdir golang-http
cd golang-http

Go.mod file

Create Go.mod file…


Homebrew is a package management system which saves time from searching version and configuration of latest software packages. If you have not install the homebrew run the command from the homebrew website.

Now to install redis using brew

> brew install redis

To start the redis

Redis run in same way as we run mysql

> brew services start redis

Redis by default will start at 6379 port. You can check if its running or not by running command redis-cli. If it is connected you can run further redis command else it will show not connected.

Configure the redis

You can configure the redis by making changes in configuration which can be found…


The best practice of developing an application is to make it loosely coupled. We should be able to add new features, properties without affecting its other pre-existing functionalities. And as our application grows, into different micro-services, modules it becomes difficult to manage the properties of the application. Which property is for the development platform and which is for production builds. With changes in the properties, we have to rebuild, retest and deploy the application again.

Services connecting to config server for a single source of providing properties.

What if we can separate our all the configuration from the logic of different services and all the services can read the applications on the…


With Docker’s ease of deploying the application, getting rid of configuring server, and the environment of the application, ,most company uses docker for their products. In this article, I will talk about how we can create a docker image of the Node.js and Spring boot applications. Dockerizing Spring boot applications can be done in different ways which we will discuss.

Docker File

Docker file is the file used by the docker engine to create the docker image of the application. It is a set of instruction which are run by docker engine. Think of it as steps that you would have followed…


In today’s market docker is vastly used to deploy applications on cloud, personal servers. It is an open source containerization technology, which containerize our application so that it can be run anywhere without configuring the environment.

Containers running on docker engine/host.

For practising the commands you can use ruminder/docker-react-app:v1.0 image.

Why Docker?

When you start developing your application and created one, everything works fine on your local machine. But when you deploy it, you get errors which can be due to any number of reasons, the environment does not have required libraries or the version is incompatible with it, or getting the errors from the system as…


Using kafka in Spring Boot is very easy. Spring Boot provide kafka dependency to use different classes to produce and consume methods to the kafka. In this post I will only be covering basics methods to start you producing and consuming the topics.

I have explained different ways we can achieve the production and consumption of messages. The code can be found here. Follow the instructions written in readme file to run.

Project creation

Create spring boot project using spring initializer and add dependency of web and kafka. You can add it later in pom.xml.

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>

Kafka Producer

To send data…


Src:// https://docs.aws.amazon.com/

AWS Lambda make it easy to deploy our code without setting up any server. All the logic of our features can be written on Lambda functions, which run only when request is made to them. It automatically scales depending on the requests.

In this post we will see

  1. How to create functions in Node.js using different libraries.
  2. Accessing Lambda function using API Gateway
  3. Brief intro on how to secure your Lambda function to be accessed only by authorized users.

Lambda Function

Function where we put our application logic to be run on servers without managing them. Before starting with Lambda function, make…

Ruminder Singh

◾Software Developer ◾Medium Writer. https://web.cs.dal.ca/~ruminder

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store