<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System Design on Uday K</title><link>https://uday.dev/tags/system-design/</link><description>Recent content in System Design on Uday K</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 20 Dec 2024 06:38:35 -0400</lastBuildDate><atom:link href="https://uday.dev/tags/system-design/index.xml" rel="self" type="application/rss+xml"/><item><title>Debugging Memory Exhaustion in a Kubernetes Redis Cluster</title><link>https://uday.dev/posts/redis-cache/</link><pubDate>Fri, 20 Dec 2024 06:38:35 -0400</pubDate><guid>https://uday.dev/posts/redis-cache/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;In one of our high-traffic deployments, which sits at the intersection of web and AI use cases, we had a Redis cache pod shared between the web application and AI background workers. While this setup wasn’t ideal, it had worked well—until one day, we were paged: Redis was down‼️ When a Redis pod crashes or restarts frequently, it&amp;rsquo;s important to follow a step-by-step guide to diagnose and resolve the root cause effectively.&lt;/p&gt;</description></item><item><title>Rate Limiter in API Design</title><link>https://uday.dev/posts/rate-limiter-api-design/</link><pubDate>Thu, 20 Jul 2023 11:57:16 -0400</pubDate><guid>https://uday.dev/posts/rate-limiter-api-design/</guid><description>&lt;p&gt;A rate limiter is a mechanism used to control the rate at which certain operations or requests are allowed to be processed by a system or an API. It helps prevent abuse, protect system resources, and ensure fair usage by limiting the number of requests or actions that can be performed within a specific timeframe. And Richard Schneeman has put it nicely in his &lt;a href="https://twitter.com/schneems/status/1138899094137651200?s=20"&gt;tweet&lt;/a&gt; where he said:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;If you provide an API client that doesn&amp;rsquo;t include rate limiting, you don&amp;rsquo;t really have an API client. You&amp;rsquo;ve got an exception generator with a remote timer.&lt;/p&gt;</description></item></channel></rss>