Author: Editorial Team
-
Micrometer vs OpenTelemetry: Why Learning OpenTelemetry Still Makes Sense
Many Spring developers often ask a very reasonable question: “If I am already using Spring, and Spring provides Micrometer, then why do I even need OpenTelemetry?” At first glance, this question feels completely valid, because Micrometer is indeed a Spring-supported and well-integrated library, and in many projects it already gives some useful insights. However, to…
-
What Is OpenTelemetry and Why Do We Need It?
In this tutorial, we are going to understand what OpenTelemetry is, but instead of starting with a formal definition, it is much more useful to first understand the problem that OpenTelemetry is trying to solve. Once the problem becomes clear, the purpose and value of OpenTelemetry will feel very natural and obvious. The Problem: Modern…
-
The Three Pillars of Observability: Logs, Metrics, and Traces
In the previous tutorial, we defined observability as the ability to understand the internal state of a system by analyzing the outputs that the application produces. These outputs are often called signals or telemetry signals, because they continuously describe what the system is doing and how it is behaving from the inside. In modern observability…
-
Observability vs Monitoring
When we build modern applications, especially applications based on microservices and distributed architectures, one of the hardest problems is not just writing code, but understanding what is actually happening inside the system when something goes wrong in production. Very often, teams have dashboards and alerts, yet they still struggle to explain why the system is…
-
Can We Change the Number of Shards Later? And How Many Replicas Should We Use?
Two of the most common questions people ask after they start using Elasticsearch seriously are these: “I created an index with five shards. Now I realize I need eight. How can I change it?”“How many replica shards should I configure?” Both questions look simple on the surface, but both are deeply connected to how Elasticsearch…
-
How Many Primary Shards Should You Create in Elasticsearch?
One of the first questions that almost everyone asks, sooner or later, is this: “How many primary shards should I create for my index?” If you have asked this question before, you are absolutely not alone. In fact, this is one of the most common questions in the Elasticsearch community. Unfortunately, it is also a…
-
Understanding Cluster Settings in Elasticsearch
In this tutorial, we are going to look at cluster-level settings in Elasticsearch and understand why they exist, how to view them, and how to change them at runtime. Even though this is a “quick” lecture conceptually, the topic itself is very important, because cluster settings control global behavior of your entire Elasticsearch cluster, not…
-
Optimistic Concurrency Control in Elasticsearch
In this tutorial, we are going to study a concept that becomes extremely important the moment multiple applications or multiple users start updating the same data concurrently. This concept is called optimistic concurrency control. We have briefly seen something related to versioning earlier, but that old mechanism is now considered deprecated. In modern Elasticsearch, concurrency…
-
The Coordinating Role in Elasticsearch
In all our previous cluster experiments, we focused mainly on master nodes, data nodes, and role separation, but there is one responsibility that every Elasticsearch node performs silently in the background. This responsibility is called coordination, and it plays a critical role in how distributed search actually works in practice. Whenever a client sends a…
-
Configuring Dedicated Master and Data Nodes Using Node Roles in Elasticsearch
Why Do We Need Dedicated Master Nodes? In Elasticsearch, the master node is responsible for cluster management, not for serving search results. The master node handles things like: What the master node does not do: Because of this, in real systems: We want the master node to be as stable, light, and undisturbed as possible.…
