<?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 Mechanical Snail</title><link>https://mechanicalsnail.com/tags/system-design/</link><description>Recent content in System Design on Mechanical Snail</description><image><title>Mechanical Snail</title><url>https://mechanicalsnail.com/images/logo.png</url><link>https://mechanicalsnail.com/images/logo.png</link></image><generator>Hugo -- 0.152.2</generator><language>en-us</language><lastBuildDate>Mon, 24 Nov 2025 10:00:00 +0100</lastBuildDate><atom:link href="https://mechanicalsnail.com/tags/system-design/index.xml" rel="self" type="application/rss+xml"/><item><title>Wire Formats Compared: Protobuf, Cap'n Proto &amp; FlatBuffers</title><link>https://mechanicalsnail.com/posts/wire-formats-rust/</link><pubDate>Mon, 24 Nov 2025 10:00:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/wire-formats-rust/</guid><description>Choosing a wire format at scale: JSON, Protocol Buffers, Cap&amp;#39;n Proto, FlatBuffers, Avro and MessagePack compared on payload size, encode/decode cost, and schema evolution.</description></item><item><title>Building an MCP Server in Go: Graph Tools &amp; Access Control</title><link>https://mechanicalsnail.com/posts/mcp-server-golang-social-media/</link><pubDate>Tue, 25 Mar 2025 10:00:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/mcp-server-golang-social-media/</guid><description>Building a Model Context Protocol server in Go: JSON-RPC tool definitions, social graph traversal, role-based access control with inheritance, and idempotent moderation operations.</description></item><item><title>Caching Strategies: Cache-Aside, Write-Through &amp; Eviction</title><link>https://mechanicalsnail.com/posts/caching/</link><pubDate>Fri, 14 Feb 2025 12:00:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/caching/</guid><description>A survey of production caching strategies: cache-aside, read-through, write-through and write-back, LRU and friends as eviction policies, and the consistency trade-offs each one implies.</description></item><item><title>Feed Ranking Architecture &amp; Operations (Part 5 of 6)</title><link>https://mechanicalsnail.com/posts/recommendation-systems-part5/</link><pubDate>Wed, 10 Jul 2024 13:00:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/recommendation-systems-part5/</guid><description>Part 5 of 6: a reference feed-ranking architecture — request flow, latency budgets, ads blending, two-tower retrieval and ranking implementations, and production monitoring.</description></item><item><title>Recommendation System Architecture &amp; Features (Part 1 of 6)</title><link>https://mechanicalsnail.com/posts/recommendation-systems-part1/</link><pubDate>Wed, 10 Jul 2024 09:00:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/recommendation-systems-part1/</guid><description>Part 1 of 6: the multi-stage architecture of a production recommendation system — candidate retrieval, embedding-based nearest neighbour search, and feature engineering at scale.</description></item><item><title>Social Media Platform Architecture at Scale</title><link>https://mechanicalsnail.com/posts/social-media-architecture/</link><pubDate>Sun, 08 Oct 2023 13:00:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/social-media-architecture/</guid><description>Systems architecture for an Instagram-scale social platform: fan-out on write versus read, graph sharding, feed caching, and absorbing celebrity-tier traffic spikes.</description></item><item><title>The Actor Model: Concurrency Through Message Passing</title><link>https://mechanicalsnail.com/posts/actors/</link><pubDate>Sun, 17 Apr 2022 15:44:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/actors/</guid><description>How the Actor Model replaces shared memory with message passing: its origins in Erlang, supervision trees, mailbox semantics, and where actors fit in modern distributed systems.</description></item><item><title>Building a Derivatives Pricing DSL in Rust</title><link>https://mechanicalsnail.com/posts/financial-dsl-rust/</link><pubDate>Thu, 29 Apr 2021 12:00:00 +0100</pubDate><guid>https://mechanicalsnail.com/posts/financial-dsl-rust/</guid><description>Designing a type-safe DSL in Rust for valuing futures and forwards: the pricing mathematics, a typed expression language, and an evaluation engine for portfolios of thousands of instruments.</description></item></channel></rss>