<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Distributed Systems on Ikwuka Okoye</title><link>https://ikwukao.dev/categories/distributed-systems/</link><description>Recent content in Distributed Systems on Ikwuka Okoye</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 10 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ikwukao.dev/categories/distributed-systems/index.xml" rel="self" type="application/rss+xml"/><item><title>Designing a Fault-Tolerant API Gateway in Go</title><link>https://ikwukao.dev/journal/designing-a-fault-tolerant-api-gateway-in-go/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/designing-a-fault-tolerant-api-gateway-in-go/</guid><description>&lt;h2 id="designing-a-fault-tolerant-api-gateway-in-go"&gt;Designing a Fault-Tolerant API Gateway in Go&lt;/h2&gt;
&lt;p&gt;An API gateway sits at an uncomfortable boundary.&lt;/p&gt;
&lt;p&gt;It receives traffic from clients, but the work is usually performed somewhere else. Every request that passes through the gateway eventually depends on downstream services, networks, databases, caches, or other infrastructure.&lt;/p&gt;
&lt;p&gt;That makes the gateway more than a reverse proxy.&lt;/p&gt;
&lt;p&gt;It becomes one of the places where reliability decisions have to be made.&lt;/p&gt;
&lt;p&gt;This is the problem I wanted to explore while building &lt;strong&gt;Flux-Gateway&lt;/strong&gt;, a high-performance API gateway and reverse proxy written in Go.&lt;/p&gt;</description></item></channel></rss>