Background In this current era, Distributed Architecture has become de-facto architectural paradigm, which necessitates implementation of loosely coupled Microservices which would talk with each other via REST API Message Oriented Middleware As far as Message Oriented Middleware is concerned, Apache Kafka has become …
Read MoreBackground In today's contemporary world of enterprise software where massively used applications are expected to scale and run seamlessly at extreme high loads e.g. Scaling Hotstar for 25.3 million users, system performance becomes one of the key tenant of architecting high throughput, low latency applications along …
Read MoreBackground In couple of my previous articles I not only tried helping understand fundamentals of JVM memory management, but also delved deeper to understand how Garbage Collection works along with its optimization. So with this background, I am sure you would be convinced that behavior of garbage collection may have …
Read MoreBackground In one of my previous post we saw tangible advantages (w.r.t throughput, latency and resource utilization) of refactoring existing Microservice application from imperative to reactive constructs. So an obvious question that comes to an inquisitive mind - Can we apply Reactive principles to the underlying …
Read MoreBackground In my previous post I tried demonstrating how to implement an optimal and performant REST client using RestTemplate In this article I will be demonstrating similar stuff but by using WebClient. But before we get started, lets try rationalizing Why yet another REST client i.e. WebClient IMO there are 2 …
Read MoreBackground In this contemporary world of enterprise application development, Microservice Architecture has become defacto paradigm. With this new paradigm, an application is going to have myriad set of independent and autonomous (micro)services which will be calling each other. One of the fundamental characteristics of …
Read MoreBackground As software industry is embracing the new Microservice Architecture paradigm, myriad applications have been built with Spring Boot framework. By the time organizations have got its early versions of microservice applications in production, industry has found out newer and better avenues for further …
Read MoreIn one of my previous post I elaborated basics of JVM memory and also explained how garbage collection works. In this post we will try to understand various types of GC and how to tune and optimize them with a real world example. GC Taxonomy 1. Minor GC When garbage is collected from Young space it is called Minor GC. …
Read MoreEveryone of us as Software Engineers would have experienced memory leaks, OOM errors in our Java/JVM applications? In order to dissect such issues it is extremely important to understand the whats' and hows' of JVM memory and its management. JVM - Memory Management One of the many strengths of the JVM is that it …
Read MoreRecently I was required to identify a memory leak in one of the enterprise application running in production. Fortunately we were able to haveheap dumpsfrom the production environment. After analyzing few heap dumps I was able to trace a uniform pattern; which I felt might be one of the potential root causes for the …
Read More