<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://blog.codewithfaisal.com/</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/about</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/categories</loc>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/what-happens-when-you-type-google-com-networking-fundamentals-aws</loc>
<lastmod>2026-09-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/database-connection-pooling-production</loc>
<lastmod>2026-09-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/database-indexes-how-they-work</loc>
<lastmod>2026-09-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/backpressure-nodejs-apis-queues</loc>
<lastmod>2026-09-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/caching-architecture-redis-patterns</loc>
<lastmod>2026-09-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/consistency-models-distributed-systems</loc>
<lastmod>2026-09-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/api-pagination-offset-vs-cursor</loc>
<lastmod>2026-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/api-versioning</loc>
<lastmod>2026-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/clean-architecture-nodejs-typescript</loc>
<lastmod>2026-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/postgresql-query-execution-explain-analyze</loc>
<lastmod>2026-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/production-ready-rest-api</loc>
<lastmod>2026-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/rate-limiting-strategies-redis</loc>
<lastmod>2026-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/solid-principles-typescript</loc>
<lastmod>2026-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/api-100-to-10000-rps</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/background-job-idempotent-retries</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/concurrent-updates-lost-update</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/jwt-single-device-logout</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/kafka-consumer-crash-before-offset-commit</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/production-query-slow</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/read-replica-stale-data</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/redis-cache-database-still-overloaded</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/retry-storms-outage-worse</loc>
<lastmod>2026-09-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/database-cpu-90-percent-what-to-check-first</loc>
<lastmod>2026-09-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/10k-to-10m-users-microservices</loc>
<lastmod>2026-09-09T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/articles/nodejs-streams-guide</loc>
<lastmod>2026-05-17T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/categories/backend</loc>
<lastmod>2026-09-27T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/categories/database</loc>
<lastmod>2026-09-29T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://blog.codewithfaisal.com/categories/system-design</loc>
<lastmod>2026-09-27T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
