In distributed systems, data placement is crucial for balancing load, optimizing performance, and ensuring fault tolerance. Besides consistent hashing, which is widely used for its uniformity and minimal reshuffling of data upon…
Category: DevOps
Other great resources
Models to Manage and Coordinate Components
In a distributed system, there are different architectural models used to manage and coordinate the multiple components that form the system. Here, we’ll discuss three common models: Clustering Management, Peer-to-Peer (P2P), and…
Make Each Payment Unique
Making online payments unique and idempotent is crucial to ensure that each transaction is processed only once and to prevent duplicate charges. Here are some strategies to achieve this: By combining these…
Race Condition
A race condition is a type of computing problem that occurs in software when two or more processes access shared data at the same time and at least one of them modifies…
System Design – Designing a “Like” Button
Designing a “Like” button system capable of handling a high volume of likes (increment operations) from individual users, while ensuring thread safety and real-time updates, requires a robust and scalable architecture. Let’s…
Compare Kafka with RabbitMQ
Apache Kafka and RabbitMQ are both popular message brokers, but they have different architectures and are designed for different use cases. Here are some key differences: 1. **Architecture**: – **Kafka**: Designed as…
Understand Transaction in Database
In computing, a transaction typically refers to a group of operations that are executed as a single unit. The concept is widely used in database management systems and other applications where data…
Notification Service Components
A notification service, commonly used in various applications and platforms, typically consists of several key components: These components work together to ensure that the right message reaches the right user at the…
TLS and mTLS
Transport Layer Security (TLS) and Mutual TLS (mTLS) are both protocols for securing network communications, but they differ in how the authentication process is handled: TLS (Transport Layer Security) mTLS (Mutual TLS)…