SOHIL LADHANI
  • Menu ▾
    • About
  • About

Rate Limiting: Token Bucket vs Leaky Bucket

2026-01-11sohilladhani
#distributed-systems  #rate-limiting  #algorithms  #java  #system-design 

Protecting services from overload with rate limiting. Token bucket and leaky bucket algorithms explained with Java implementations and real-world trade-offs.

[Read more]

Backpressure: When Consumers Can’t Keep Up

2026-01-10sohilladhani
#distributed-systems  #backpressure  #performance  #java  #system-design 

Handling slow consumers in distributed systems. Queue growth, memory exhaustion, and strategies for applying backpressure - rejection, rate limiting, and flow control.

[Read more]

Retry Strategies: Exponential Backoff and Jitter

2026-01-09sohilladhani
#distributed-systems  #reliability  #retry  #java  #system-design  #algorithms 

How to retry failed requests without overwhelming servers. Exponential backoff, jitter, and when to give up. Java implementations and real-world patterns.

[Read more]

Idempotency: Why Retries Need It

2026-01-08sohilladhani
#distributed-systems  #idempotency  #reliability  #java  #system-design 

How to make operations safe to retry. Idempotency keys, database patterns, and why retrying non-idempotent operations causes data corruption.

[Read more]

Session Guarantees: The Promises Your Database Makes to You

2026-01-07sohilladhani
#distributed-systems  #consistency  #databases  #session-guarantees  #system-design 

Read-your-writes and monotonic reads aren’t just buzzwords. They’re the difference between a database that feels broken and one that makes sense to users.

[Read more]

Horizontal vs Vertical Scaling: Bigger Machine or More Machines

2026-01-06sohilladhani
#distributed-systems  #scaling  #system-design  #architecture 

Comparing vertical scaling (scale up) and horizontal scaling (scale out). When to use each, trade-offs, and the complexity that comes with horizontal scaling.

[Read more]

Circuit Breakers: Failing Fast to Stay Alive

2026-01-05sohilladhani
#distributed-systems  #microservices  #circuit-breaker  #java  #resilience 

How circuit breakers prevent cascading failures in microservices. State transitions, Java implementation with Resilience4j, and real-world thresholds.

[Read more]

Load Balancing Strategies: Picking the Right Server

2026-01-04sohilladhani
#distributed-systems  #load-balancing  #system-design  #java  #algorithms 

Comparing load balancing algorithms - Round Robin, Least Connections, Weighted Round Robin, and IP Hash. Java implementations and real-world trade-offs.

[Read more]

Bloom Filters: Definitely Not Here

2026-01-03sohilladhani
#database  #bloom-filters  #data-structures  #system-design 

Bloom filters skip unnecessary disk reads in LSM trees by saying ‘definitely not here’ with zero false negatives. Learn how Cassandra and RocksDB use them.

[Read more]

Compaction Strategies: Cleaning Up After LSM Trees

2026-01-02sohilladhani
#database  #lsm-trees  #compaction  #system-design 

LSM trees create SSTables fast but need compaction. Learn size-tiered vs leveled compaction strategies and the write vs read amplification tradeoff.

[Read more]

LSM Trees vs B-Trees: Write Fast or Read Fast

2026-01-01sohilladhani
#database  #data-structures  #storage  #system-design 

LSM Trees vs B-Trees: the write-fast or read-fast tradeoff. Learn when to use B-trees (MySQL) vs LSM trees (Cassandra) based on your database workload.

[Read more]

Write-Ahead Logging: How Databases Survive Crashes

2025-12-31sohilladhani
#database  #durability  #wal  #system-design 

How do databases survive crashes and ensure durability? Learn how Write-Ahead Logging (WAL) uses sequential writes to guarantee data persistence without killing performance.

[Read more]

Read Repair and Anti-Entropy: Healing Stale Replicas

2025-12-30sohilladhani
#distributed-systems  #replication  #consistency  #system-design 

How do stale replicas catch up in distributed systems? Compare read repair and anti-entropy strategies with Merkle trees for healing data divergence.

[Read more]

Conflict Resolution: When Two Writes Win

2025-12-29sohilladhani
#distributed-systems  #replication  #conflicts  #system-design 

Concurrent writes in distributed databases don’t merge automatically. Learn to detect conflicts with version vectors and resolve them without losing data.

[Read more]

Replication Lag: The Bug That Isn’t a Bug

2025-12-28sohilladhani
#distributed-systems  #replication  #databases  #system-design 

Users see stale data after writes. It’s not a bug, it’s replication lag. Learn to handle read-after-write problems and causality violations in production.

[Read more]

Consistency Models: What Eventually Means

2025-12-27sohilladhani
#distributed-systems  #consistency  #databases  #system-design 

Eventual consistency doesn’t mean milliseconds. Understand linearizability, causal consistency, and quorum reads to pick the right consistency model.

[Read more]

Query Execution Plans: Reading EXPLAIN Like a Map

2025-12-26sohilladhani
#database  #mysql  #performance  #explain 

Stop staring at EXPLAIN output confused. Learn to read MySQL execution plans like a map and find the root cause of slow queries in seconds, not hours.

[Read more]

Secondary Indexes in Distributed Databases

2025-12-25sohilladhani
#distributed-systems  #database  #partitioning  #system-design 

Querying partitioned databases by non-partition keys? Learn the tradeoffs between local and global secondary indexes in distributed systems.

[Read more]

The Hidden Cost of JOINs

2025-12-24sohilladhani
#database  #performance  #sql  #system-design 

Every JOIN multiplies query complexity. Learn the three JOIN strategies databases use and when denormalization beats JOIN performance by 30x.

[Read more]

Indexing Strategies That Actually Work

2025-12-23sohilladhani
#database  #indexing  #performance  #system-design 

More indexes don’t mean faster queries. Learn when to add, remove, and optimize database indexes. Real examples of 7x performance gains through strategic indexing.

[Read more]

Virtual Nodes: The Three-Layer Pattern of Consistent Hashing

2025-12-22sohilladhani
#distributed-systems  #consistent-hashing  #system-design 

Understand virtual nodes in consistent hashing through a simple three-layer model that decouples data distribution from server topology in distributed systems.

[Read more]

The Query Optimization Framework

2025-12-21sohilladhani
#database  #performance  #optimization  #system-design 

Stop guessing at performance problems. Learn the 5-step systematic framework for debugging slow queries that helped reduce query times from 2+ seconds to 30ms.

[Read more]

How to create a Media Server out of a router

2016-04-05sohilladhani
#networking  #hacking  #how-tos 

Transform your OpenWrt router into a media server using MiniDLNA and Samba. Step-by-step guide for USB storage setup and network media streaming.

[Read more]

How I managed to deploy a 2 node ceph cluster

2016-03-28sohilladhani
#ceph  #storage  #hacking  #cluster 

Deploy a 2-node Ceph storage cluster on CentOS 7 for learning or OpenStack integration. Complete setup guide with network configuration and OSD deployment.

[Read more]

Import GPG key in CentOS 7

2016-03-25sohilladhani
#linux  #hacking  #software 

Fix GPG key errors in CentOS 7 when installing packages. Quick solution using rpm –import to resolve yum repository GPG verification issues.

[Read more]

Yet Another Network Controller (Part 2) – Running YANC

2016-03-13sohilladhani
#networking  #yanc 

Run YANC with Mininet to create OpenFlow network topologies. Complete tutorial for starting yanc filesystem, of-adapter, and connecting with Mininet.

[Read more]

Yet Another Network Controller (Part 1) – Getting started

2016-02-23sohilladhani
#networking  #yanc 

Get started with YANC (Yet Another Network Controller) on Linux. Step-by-step setup guide for yanc filesystem and yanc-of-adapter with OpenFlow switches.

[Read more]

How to Build Java Projects on-the-fly using Apache Ant’s API

2014-03-14sohilladhani

Build Java projects programmatically using Apache Ant’s Java API. Learn to compile code, create WAR files, and deploy on-the-fly without build.xml.

[Read more]

How To Setup Your Own Web Server with or without a Network Router

2012-12-05sohilladhani
#apache  #HOW TO?  #networking  #Technology  #wampserver 

Turn your PC into a web server using WampServer. Complete tutorial for setting up Apache with or without a router, including port forwarding and configuration.

[Read more]

My First ‘Self-Made’ Swing Application

2012-11-28sohilladhani
#app  #click  #first  #java  #swing  #Technology  #test 

Building my first Java Swing application: Click Tester. Learn how to create a simple GUI app that tests clicking speed using JButton, JLabel, and Stopwatch.

[Read more]
< [Newer posts]
© 2026 by SOHIL LADHANI