Using Distributed Tracing in Microservices Architecture

Introduction

Distributed tracing for Microservices architecture is an emerging concept that is gaining momentum across internet-based business organizations.

We know that microservices architecture introduced an all-new way to scale an application (cloud) with several independent services. It does facilitate high resiliency, scalability, productivity, and efficiency when compared to monolithic architectures. 

Why Your Microservices Need GraphQL

While microservices offer tremendous benefits and help you stay agile, it’s important to get them right.

In this post, we are going to see how the nature of microservices makes choosing the right API layer even more important and how  GraphQL perfectly fits in it.

10 Commandments of Microservice Decomposition

While we are talking about microservices, we talk a lot about Domain-Driven Design, Event-Driven Architecture, Core Domain, Subdomain, Bounded Context, Anti-corruption Layer, etc.

Whether you are working in a Brownfield project or a Greenfield project, if your organization wants to adopt microservices, (assuming your organization has a compelling reason for adopting microservices, as it is not a free lunch), then you need to understand the above terms in detail to properly decompose your business domain logic (Business Space) and map it with microservices architecture (Code Space), so you can gain the benefits of microservice traits.

The Service Mesh in the Microservices World

The software industry has come a long journey and throughout this journey, Software Architecture has evolved a lot. Starting with 1-tier (Single-node), 2-tier (Client/ Server), 3-tier, and Distributed are some of the Software Architectural patterns we saw in this journey.

The Problem

The majority of software companies are moving from Monolithic architecture to Microservices architecture, and Microservices architecture is taking over the software industry day-by-day. While monolithic architecture has many benefits, it also has so many shortcomings when catering to modern software development needs. With those shortcomings of monolithic architecture, it is very difficult to meet the demand of the modern-world software requirements and as a result, microservices architecture is taking control of the software development aggressively. The Microservices architecture enables us to deploy our applications more frequently, independently, and reliably meeting modern-day software application development requirements.

How to Make Microservices Communicate

I’m sure you want to build scalable apps, right? Who doesn’t? If so, you must have come across the words “Cloud Native.” This approach is like an angel which can resolve most of your scaling challenges. So, what exactly is cloud native?

Cloud native is an approach used to build apps which can harness all the capabilities of the cloud.

Microservices Under the Microscope

Check it out!

Modernizing the Monolithic Legacy

IT teams are always wanting to build new applications enabling specific functions for the ease of processes or customers. Sometimes, to balance projects, they allow distributed teams to work on focused targets using reusable assets, templates, and best practices. While decentralizing and democratizing application development helps, managing security can be a task for strategizing different Lines of Business (LoBs) and functional business partners.

You may also like: 6 Defining Features of Microservices

Breaking Down a Monolith Into Microservices — an Integration Journey

Learn how to break down a monolith!


Wondering How to Secure the Microservices You Are Working On?

Ironically, few characteristics of a Microservices architecture which consider as its benefits can also contribute to its disadvantages. While Microservices provide greater flexibility in overall application development and management, it also increases the complexity of the same actions due to the need for more coordination and communication for deploying Microservices.

Circuit Breaker Design Pattern Using Netflix Hystrix

Check out this circuit design!
You may also like: Design Patterns in Java: Singleton

1. Introduction

A circuit breaker is an electronic/electrical component that makes a circuit open so that no current can flow through it. It is used to prevent the damage caused by excess current from an overload or short circuit.

Generally, fuses are considered to be a circuit breaker, but there is a subtle difference between circuit breakers and fuses. Fuses operate once and must be replaced but the circuit breaker can be reset to resume the normal operation.

Estimating ROIs to a Microservices Migration

Estimating ROIs is stressful!


Microservices has been making waves among leading application development organizations. One survey found that 68% of organizations were using or investigating Microservices. The advantages are well-documented: increased resilience, improved scalability, faster time to market. Transitioning to Microservices creates significant challenges for organizations. Here are some of them and proposed solutions that organizations can adopt in their Microservices journey.

Getting Started With Spring Cloud Gateway

In this article, we will integrate spring cloud gateway with a microservice-based architecture application using spring cloud. In the process, we will use spring cloud gateway as a gateway provider, Netflix Eureka as a discovery server, with circuit breaker pattern using Netflix Hystrix.

Let's quickly get started with the implementation of it.