After the evolution of distributed systems, microservices based application attracted interest of nearly every organisation those willing to grow with time and survive the market competition. Microservices allows us to scale and manage system easily. Development time reduced due to distributed effort among many teams and time-to-market new feature reduced significantly.

Due to distributed nature, communication among different components is over the network. And there are so many factors which can affect communication, either it can be security, added latency or abrupt termination of ongoing communication, leading to increased infrastructure cost. …


From some time, products are leaning towards NoSql databases because of number of advantages that they provide compared to Relational databases (RDBMS), especially in today’s distributed systems. There is always a pressure of delivering things faster to make it Live to end user. But does that means relational databases won’t be able to compete with NoSql databases, provided Relational Databases still best known for adhering to ACID property.

Here, I am going to explore the possibilities from Relational Databases perspective and how they come a long way to compete with NoSql Databases. I am going to compare two managed databases…


It’s quite often that a Java application comes across multiple performance issues. Mostly performance issues are due to inefficient JVM tuning. We have a number of tools that come packaged with JDK/JRE and some available commercially. For a developer, it’s good to have knowledge of these JVM tuning helping tools to create applications with optimum performance.

Obviously having knowledge of all tools is best, but there is one tool provided with Java jre itself (from Java7 onwards), which can provide a number of important information regarding a Java application. …


Spring Webflux Introduction
Spring Webflux has been introduced as part of Spring 5 and with this it started to support Reactive Programming. It uses an asynchronous programming model. Use of reactive programming makes applications highly scalable to support high request load over a period of time.

What Problem It Solved Compared with Spring MVC Spring MVC uses Synchronous Programming model, where each request has been mapped to a thread and which is responsible to take the response back to the request socket. Cases where applications make some network calls like, fetch data from DB, fetch response from other application, file…

Kaushal Singh

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