<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>System-Design on Tuan Hiep TRAN — The Principal Craft</title><link>https://tuanhiep.github.io/principal/tags/system-design/</link><description>Recent content in System-Design on Tuan Hiep TRAN — The Principal Craft</description><generator>Hugo -- 0.162.1</generator><language>en-us</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tuanhiep.github.io/principal/tags/system-design/index.xml" rel="self" type="application/rss+xml"/><item><title>Autopsy of a Hybrid Architecture (1/4): The Illusion of Non-Blocking &amp; Thread Starvation</title><link>https://tuanhiep.github.io/principal/posts/series_4/1.the_illusion_of_non_blocking_and_thread_starvation/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_4/1.the_illusion_of_non_blocking_and_thread_starvation/</guid><description>When 5% CPU utilization meets 503 Service Unavailable. Dissecting the cost of waiting and the quantitative failure of hybrid execution models.</description></item><item><title>Autopsy of Distributed Systems (4/4): The Integrity Fallacy &amp; The DLQ Mandate</title><link>https://tuanhiep.github.io/principal/posts/series_3/4.the_integrity_fallacy_data_loss/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_3/4.the_integrity_fallacy_data_loss/</guid><description>A queue with zero lag can still be a crime scene. We conclude the series by dissecting the &amp;lsquo;Catch-and-Commit&amp;rsquo; anti-pattern and establishing why a Dead Letter Queue is an architectural mandate, not a luxury.</description></item><item><title>Autopsy of Distributed Systems (3/4): The Protocol Trap &amp; The Lease Paradox</title><link>https://tuanhiep.github.io/principal/posts/series_3/3.the_protocol_trap_broker_semantics/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_3/3.the_protocol_trap_broker_semantics/</guid><description>Distributed brokers use leases to detect life. We dissect how the &amp;lsquo;MAX_VALUE&amp;rsquo; configuration trap disables a system&amp;rsquo;s autonomic immune response, turning transient failures into permanent paralysis.</description></item><item><title>Autopsy of Distributed Systems (2/4): The Concurrency Collapse &amp; Reactive Starvation</title><link>https://tuanhiep.github.io/principal/posts/series_3/2.concurrency_collapse_thread_starvation/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_3/2.concurrency_collapse_thread_starvation/</guid><description>Asynchronous frameworks do not eliminate latency; they merely shift the bottleneck. We dissect how a single blocking I/O call inside a reactive pipeline can trigger a catastrophic thread starvation event.</description></item><item><title>Autopsy of Distributed Systems (1/4): The Observability Mirage &amp; Zombie Consumers</title><link>https://tuanhiep.github.io/principal/posts/series_3/1.the_observability_mirage_zombie_consumers/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_3/1.the_observability_mirage_zombie_consumers/</guid><description>When a dashboard reports 100% health but throughput is zero, the system isn&amp;rsquo;t dead—it&amp;rsquo;s paralyzed. We dissect thread starvation, the illusion of structural health checks, and the math behind a system collapse.</description></item><item><title>From Contention to Throughput (4/5): Scaling Beyond a Single Database — Partitioning &amp; The Connection Collapse</title><link>https://tuanhiep.github.io/principal/posts/series_2/4.scaling_beyond_postgresql_sharding/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_2/4.scaling_beyond_postgresql_sharding/</guid><description>When a single PostgreSQL instance hits its physical limits, we must shard. We explore the Connection Collapse trap, multiplexing proxies, and intelligent shard routing.</description></item><item><title>From Contention to Throughput (3/5): Designing for Failure — Lease Systems &amp; Distributed Recovery</title><link>https://tuanhiep.github.io/principal/posts/series_2/3.designing_for_failure_lease_systems/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_2/3.designing_for_failure_lease_systems/</guid><description>When SKIP LOCKED is not enough. We explore the State Model, the Law of Temporal Ownership, and how Fencing Tokens prevent distributed split-brain.</description></item><item><title>From Contention to Throughput (2/5): Turning PostgreSQL into a Lock-Free Queue — The SKIP LOCKED Pattern</title><link>https://tuanhiep.github.io/principal/posts/series_2/2.turning_postgresql_into_a_lock_free_queue/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_2/2.turning_postgresql_into_a_lock_free_queue/</guid><description>How to resolve massive database lock contention without deploying Kafka. We explore Quantitative Capacity, the Law of Non-Blocking Acquisition, and the SKIP LOCKED paradigm.</description></item><item><title>From Contention to Throughput (1/5): Move the Work, Not the Latency — The Pre-allocation Paradigm</title><link>https://tuanhiep.github.io/principal/posts/series_2/1.the_law_of_decoupled_computation/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_2/1.the_law_of_decoupled_computation/</guid><description>Why Compute-on-Demand fails at scale. We explore the Law of Decoupled Computation, the Decision Framework, and how to eliminate latency from the critical path.</description></item><item><title>Mastering Enterprise Complexity (5/5): Designing Deterministic Systems</title><link>https://tuanhiep.github.io/principal/posts/series_1/5.capstone_unified_reference_architecture/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_1/5.capstone_unified_reference_architecture/</guid><description>The grand synthesis. We combine Deterministic Routing, Orthogonality, Global Governance, and Snapshot-Oriented Immutability into a single Deterministic Orchestration Engine.</description></item><item><title>Mastering Enterprise Complexity (4/5): Designing Deterministic Pipelines with Zero-Cost Rollbacks</title><link>https://tuanhiep.github.io/principal/posts/series_1/4.immutable_pipeline_zero_cost_rollback/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_1/4.immutable_pipeline_zero_cost_rollback/</guid><description>How to survive pipeline failures without data corruption. We explore Snapshot-Oriented Execution, the limits of Database Transactions, and O(1) In-Memory Rollbacks.</description></item><item><title>Mastering Enterprise Complexity (3/5): Global Governance and the Fallacy of Distributed Ordering</title><link>https://tuanhiep.github.io/principal/posts/series_1/3.global_governance_distributed_ordering/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_1/3.global_governance_distributed_ordering/</guid><description>Why relying on @Order in a distributed codebase leads to &amp;lsquo;Global Blindness&amp;rsquo;. We explore how to regain control of a massive pipeline through Centralized Static Registries.</description></item><item><title>Mastering Enterprise Complexity (2/5): Orthogonal Architecture &amp; The Extension Layer</title><link>https://tuanhiep.github.io/principal/posts/series_1/2.orthogonal_architecture_extension_layer/</link><pubDate>Sat, 28 Mar 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_1/2.orthogonal_architecture_extension_layer/</guid><description>How to prevent your core domain from rotting with side-effects. We explore Orthogonal Architecture, Blast Radius containment, and the principle of Core Blindness.</description></item><item><title>Mastering Enterprise Complexity (1/5): Routing as a First-Class Problem</title><link>https://tuanhiep.github.io/principal/posts/series_1/1.routing_as_first_class_problem/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://tuanhiep.github.io/principal/posts/series_1/1.routing_as_first_class_problem/</guid><description>When systems scale, they don&amp;rsquo;t fail because of incorrect logic; they fail due to a loss of control over execution order. Here is how to build a Deterministic Strategy Pipeline.</description></item></channel></rss>