Lobster Programming
Author

Lobster Programming

Sharing insights on technical analysis and exchange, making life better through technology.

150
Articles
0
Likes
440
Views
0
Comments
Recent Articles

Latest from Lobster Programming

100 recent articles max
Lobster Programming
Lobster Programming
Jul 7, 2025 · Backend Development

Boost Order Processing Speed with Segmented Locks and Redis

This article explains how to use segmented (sharded) locks and Redis‑based routing strategies to parallelize inventory deduction and order creation, dramatically increasing orders processed per second while maintaining atomicity and fault tolerance.

ConcurrencyDistributed LockRedis
0 likes · 7 min read
Boost Order Processing Speed with Segmented Locks and Redis
Lobster Programming
Lobster Programming
Jul 7, 2025 · Databases

Why Does Redis Block? 5 Common Causes and How to Prevent Them

This article explains why Redis, a single‑threaded in‑memory database, can become blocked, covering five common culprits such as blocking commands, big keys, database flushes, synchronous AOF writes, and the SAVE command, and offers guidance on preventing performance stalls.

AOFBlockingPerformance
0 likes · 4 min read
Why Does Redis Block? 5 Common Causes and How to Prevent Them
Lobster Programming
Lobster Programming
Jun 23, 2025 · Backend Development

How RocketMQ’s CommitLog Powers Million‑Level Concurrency

This article explains how RocketMQ’s CommitLog architecture—sequential writes, mmap zero‑copy, PageCache acceleration, fixed‑size log files, flexible flushing strategies, and efficient ConsumeQueue indexing—enables the system to sustain million‑level QPS with high reliability and low latency.

CommitLogPageCacheRocketMQ
0 likes · 6 min read
How RocketMQ’s CommitLog Powers Million‑Level Concurrency
Lobster Programming
Lobster Programming
Jun 9, 2025 · Fundamentals

Why JVM Uses Two Survivor Spaces: Boosting GC Efficiency and Memory Utilization

JVM’s generational garbage collection divides the heap into young and old generations, using two Survivor spaces to incrementally age objects, apply a copying algorithm, reduce fragmentation, improve memory utilization, and accelerate short‑lived object reclamation, ultimately enhancing overall GC performance.

Generational GCJVMSurvivor Space
0 likes · 4 min read
Why JVM Uses Two Survivor Spaces: Boosting GC Efficiency and Memory Utilization
Lobster Programming
Lobster Programming
Jun 9, 2025 · Databases

How to Add a Column to Billion‑Row Tables Without Downtime

This article explains a metadata‑driven approach for extending massive tables—using a separate extension table, sharding, and Elasticsearch sync—to add new fields to billion‑row databases without locking the primary table or disrupting online services.

Elasticsearchbig datadatabase schema
0 likes · 6 min read
How to Add a Column to Billion‑Row Tables Without Downtime
Lobster Programming
Lobster Programming
Jun 3, 2025 · Backend Development

How ThreadLocal Can Cause Memory Leaks in Java Multithreading

This article explains how ThreadLocal creates per‑thread variable copies, demonstrates its usage with sample Java code, illustrates the internal storage structure, and reveals why improper handling can lead to memory leaks when thread‑local values persist in thread pools.

JavaMemory LeakThreadLocal
0 likes · 3 min read
How ThreadLocal Can Cause Memory Leaks in Java Multithreading
Lobster Programming
Lobster Programming
May 30, 2025 · Backend Development

How to Ensure API Idempotency with Locks: 5 Proven Strategies

This article explores five practical lock-based approaches—including database primary keys, pessimistic and optimistic locks, state machines, and distributed locks—to achieve reliable API idempotency in distributed systems, highlighting implementation details, trade‑offs, and code examples.

API idempotencyDistributed LockOptimistic Lock
0 likes · 7 min read
How to Ensure API Idempotency with Locks: 5 Proven Strategies