Lobster Programming
Author

Lobster Programming

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

161
Articles
0
Likes
801
Views
0
Comments
Recent Articles

Latest from Lobster Programming

100 recent articles max
Lobster Programming
Lobster Programming
Jul 6, 2026 · Backend Development

Why Kafka Achieves Such High Throughput

Kafka’s exceptionally high throughput stems from a combination of design choices—including sequential disk writes, zero‑copy data transfer, batch processing, partition‑level parallelism, OS page‑cache utilization, and producer‑side compression—that together minimize I/O overhead, CPU usage, and latency.

KafkaZero-Copybatching
0 likes · 6 min read
Why Kafka Achieves Such High Throughput
Lobster Programming
Lobster Programming
Jun 22, 2026 · Databases

Common Redis Use Cases in Real-World Projects

This article outlines nine practical Redis scenarios—including hot‑data caching, distributed locks with Redisson, Bloom filters for cache‑penetration protection, delayed queues using ZSet, token‑bucket rate limiting, bitmap boolean statistics, UV deduplication via Set/HyperLogLog/Bitmap, geospatial indexing, and lightweight Stream queues—explaining their motivations, implementation steps, and trade‑offs.

BitmapBloom FilterDelayed Queue
0 likes · 7 min read
Common Redis Use Cases in Real-World Projects
Lobster Programming
Lobster Programming
Jun 15, 2026 · Backend Development

Choosing Between Seata‑AT, TCC, and Saga for Distributed Transactions

The article compares Seata‑AT, TCC, and Saga distributed‑transaction patterns, explains their two‑phase or three‑phase mechanisms, outlines performance and consistency trade‑offs, and provides concrete guidance on which solution fits backend micro‑service scenarios such as core commerce, third‑party integration, or admin tools.

AT ModeMicroservicesSaga
0 likes · 8 min read
Choosing Between Seata‑AT, TCC, and Saga for Distributed Transactions
Lobster Programming
Lobster Programming
Jun 8, 2026 · Databases

Why Redis Cache Expiration Triggers System Spikes

The article explains how massive simultaneous expiration of Redis keys can overload the single‑threaded server, causing brief request blocking, response‑time spikes, and even memory‑related issues in master‑slave setups.

Lazy DeletionRediscache expiration
0 likes · 6 min read
Why Redis Cache Expiration Triggers System Spikes
Lobster Programming
Lobster Programming
Jun 1, 2026 · Backend Development

How ZooKeeper Implements Distributed Locks: Mechanism and Pitfalls

The article explains ZooKeeper's herd effect, how temporary sequential nodes and chain watching reduce notification storms, how client failures are handled, and why most projects use Curator to simplify fault‑tolerant distributed lock implementations.

Chain WatchingCuratorEphemeral Sequential Node
0 likes · 5 min read
How ZooKeeper Implements Distributed Locks: Mechanism and Pitfalls
Lobster Programming
Lobster Programming
May 25, 2026 · Backend Development

Designing a System That Can Survive Sudden Spikes of One Million QPS

The article analyzes why simply adding Redis nodes cannot handle a sudden million‑QPS surge, then presents three practical solutions—key sharding, multi‑level caching with hot‑key detection, and distributed‑lock‑based fallback—to build a resilient high‑concurrency backend.

Cache ShardingCircuit BreakerHot Key Detection
0 likes · 7 min read
Designing a System That Can Survive Sudden Spikes of One Million QPS
Lobster Programming
Lobster Programming
May 18, 2026 · Fundamentals

Why userId Gets Lost in Async Calls and How ThreadLocal Solves It

The article explains ThreadLocal's lifecycle, why userId disappears when spawning asynchronous threads, compares ThreadLocal, InheritableThreadLocal, and Alibaba's TransmittableThreadLocal, and shows how the latter prevents data contamination in thread‑pool reuse.

InheritableThreadLocalJava concurrencyThread Pool
0 likes · 5 min read
Why userId Gets Lost in Async Calls and How ThreadLocal Solves It
Lobster Programming
Lobster Programming
May 11, 2026 · Backend Development

Designing Effective Ad Mixing in Short‑Video Feed Streams

The article examines common pitfalls of naïve ad insertion in short‑video feeds, explains how cursor‑based pagination prevents duplicate ads, and outlines a client‑side mixing architecture that isolates services, meets strict latency requirements, and ensures accurate ad billing.

Cursor Paginationad mixingbackend design
0 likes · 4 min read
Designing Effective Ad Mixing in Short‑Video Feed Streams
Lobster Programming
Lobster Programming
May 6, 2026 · Backend Development

How to Choose the Right MQ: RabbitMQ vs RocketMQ vs Kafka

This article compares RabbitMQ, RocketMQ, and Kafka on throughput, latency, scalability, and reliability, outlining each system's core features and recommending suitable scenarios such as reliable messaging, high‑performance streaming, and large‑scale real‑time data processing.

KafkaRabbitMQRocketMQ
0 likes · 6 min read
How to Choose the Right MQ: RabbitMQ vs RocketMQ vs Kafka