<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://ripanhalder.com/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>1.0</priority></url>
  <url><loc>https://ripanhalder.com/projects/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/projects/tvg-racing/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/projects/aws-bill-management-system/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/projects/bharatpayops/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/experience/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/architecture/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/</loc><lastmod>2026-07-13</lastmod><changefreq>weekly</changefreq><priority>0.9</priority></url>
  <url><loc>https://ripanhalder.com/blog/java-jvm/</loc><lastmod>2026-07-13</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/spring-boot/</loc><lastmod>2026-07-13</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/kafka-messaging/</loc><lastmod>2026-07-13</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/databases-caching/</loc><lastmod>2026-07-13</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/aws-platform/</loc><lastmod>2026-07-13</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/system-design/</loc><lastmod>2026-07-13</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/modernizing-java-services-without-freezing-delivery/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/java-memory-model-visibility/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/class-loading-metaspace-leaks/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/thread-pools-backpressure-java/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/bigdecimal-money-java/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/spring-transaction-boundaries/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/jpa-n-plus-one-fetching/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/spring-boot-configuration-secrets/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/resilience-timeouts-retries-circuit-breakers/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/spring-boot-observability/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/kafka-throughput-partitions-backpressure/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/kafka-consumer-groups-rebalancing/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/delivery-semantics-idempotent-consumers/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/kafka-retries-dead-letter-topics/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/schema-evolution-event-contracts/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/database-indexes-practical/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/transaction-isolation-locking/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/postgres-explain-analyze/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/redis-caching-consistency/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/ledger-data-model/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/aws-bill-management-architecture/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/sns-sqs-lambda-fanout/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/cloudformation-safe-deployments/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/iam-least-privilege/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/containers-ecs-eks-choice/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/event-driven-payment-workflows/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/url-shortener-system-design/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/order-management-system-design/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/api-gateway-system-design/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
  <url><loc>https://ripanhalder.com/blog/sagas-distributed-transactions/</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
</urlset>
