Photo by Kaleidico on Unsplash

Microservices provide a lot of advantages over monolith when implemented correctly. Many Organizations want to change their monolith application code to microservices code. It turns out, migrating to microservices isn’t that easy. The first question you should ask is, do you really need microservices. Many problems of the monolith can be fixed easily by using modular monolith architecture. Once you have become sure that you want microservice, you have to create a plan to convert monolith into microservices. There are some patterns that can help you to create the required plan.

Before we go into actual Patterns to divide a…


Photo by Possessed Photography on Unsplash

What if I tell you that you can create a fully functioning GraphQL server that uses Postgres for persistence in just a matter of minutes? If you change table schema in the future, your GraphQL API will automatically detect that change and change itself automatically? Would you believe me? It does sound like Magic, right? Well, let me assure you there is no magic involved here. We will use some libraries which will look like some magic. Excited? Well, let's see which tools we will be using today.

Postgres: Our loved Elephant.


Photo by Andreas Klassen on Unsplash

Writing boilerplate code or code which is really not needed wastes a lot of time. Java has a large community that has created many libraries that help you increase your productivity by removing the need to write boilerplate code or providing utilities for common java problems. In this article, we will explore some of those libraries.

1) Project Lombok

Tired of files that only have boilerplate methods like getters, setters, constructors, overridden equals methods, etc? Well, then Lombok is for you. Most IDE’s can auto-generate getter and setter methods with just 1 click of a button, but the difference is that IDE generates…


Photo by Denisse Leon on Unsplash

Garbage Collection in Java is one of the least known topics among developers, so in this article, we will discuss the basics of GC.

Introduction to Garbage Collection.

In Java, you don’t explicitly control the lifecycle of an object, objects are created in memory automatically when needed and JVM will also free space occupied by an object when that object is no longer needed. Garbage collection is the process by which JVM automatically free space. According to most people definition of Garbage Collector will be “it is responsible for finding unreachable objects and then deleting those unreachable objects to free space in heap”. In…


Photo by Sincerely Media on Unsplash

REST Architecture is the most common architecture to create interactive API for Web services. REST was first presented by Roy Fielding in 2000. After 20 years, REST API is being used nearly in all enterprises.

REST architecture doesn’t provide any guidelines or standards for API development. All Restful API just needs to follow 6 constraints which were created by Roy Fielding. Most of you will be aware of those 6 constraints: Client-Server architecture, Cacheability, Statelessness, Layered system, Uniform interface, and code on demand.

As there are no concrete guidelines for designing Rest API, we have to design Rest API very…


Photo by Scott Graham on Unsplash

We see more and more organization moving their traditional monolithic application to microservices architecture. Like every trending thing, microservices architecture is being misused. Everyone wants to use microservices, I have literally seen people using microservices that can easily be handled by the monolith. I am not saying microservices are bad, they are really good and they bring a lot of nice things with them. On the other hand, microservices also introduce more complexity to your system. Today, let us explore together the scenarios where microservices may not be a good choice.

You are just Getting Started.


When you are working with Microservices, REST is currently the go-to architecture. Still, some inherited problems come with Rest Architecture which can potentially slow down development cycles and the entire application’s performance. Facebook realized these problems of REST architecture and, as a solution, created GraphQL architecture. GraphQL was made public by Facebook in 2015, and since its release, it has been adopted by other giants like Netflix, Shopify, Paypal, Etc.

What is GraphQL?

According to the official documentation of GraphQL,

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides…


Thinking to switch your job after some years of experience with Java? Well then this article is just for you I will list topics you should revise before going for the interview.

Data Structures and Algorithm: Of course it is the most important topic for any coding-related interview. Data structures and Algorithms are base for any programming. There are many good books as well as many good websites which will help you to practice Data structures and Algorithms.

Design patterns: After 2 years of experience it is expected that you should have worked on some design patterns so don’t forget…


This article is in continuity of GC and its effect of Java performance, so if you haven’t read it before it is highly recommended to check that out first and then continue reading this one further.

Let’s take a quick little recap from previous article. We discussed how heap is divided into various generations. Objects are first created in young generation and as objects become old they move to tenured or old generation. Serial garbage collector is most simple garbage collector we have. This is default garbage collector on machines with single core and containers which have been assigned only…

Abhishek Kapoor

Full-Time Software Developer, Technology Enthusiast, and Novice writer who writes mostly about microservices and data science

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