<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://matheuspalma.com</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com" />
  </url>
  <url>
    <loc>https://matheuspalma.com/about</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/about" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/about" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/about" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/about" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/about" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/about" />
  </url>
  <url>
    <loc>https://matheuspalma.com/contact</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/contact" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/contact" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/contact" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/contact" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/contact" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/contact" />
  </url>
  <url>
    <loc>https://matheuspalma.com/experience</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/experience" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/experience" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/experience" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/experience" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/experience" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/experience" />
  </url>
  <url>
    <loc>https://matheuspalma.com/projects</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/projects" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/projects" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/projects" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/projects" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/projects" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/projects" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.85</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-transaction-isolation-production-apis-read-committed-serializable</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-transaction-isolation-production-apis-read-committed-serializable" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-transaction-isolation-production-apis-read-committed-serializable" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-transaction-isolation-production-apis-read-committed-serializable" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-transaction-isolation-production-apis-read-committed-serializable" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-transaction-isolation-production-apis-read-committed-serializable" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-transaction-isolation-production-apis-read-committed-serializable" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-change-data-capture-outbox-alternatives-production</loc>
    <lastmod>2026-06-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-change-data-capture-outbox-alternatives-production" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-change-data-capture-outbox-alternatives-production" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-change-data-capture-outbox-alternatives-production" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-change-data-capture-outbox-alternatives-production" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-change-data-capture-outbox-alternatives-production" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-change-data-capture-outbox-alternatives-production" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/model-cascades-tiered-llm-routing-production-apis</loc>
    <lastmod>2026-06-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/model-cascades-tiered-llm-routing-production-apis" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/model-cascades-tiered-llm-routing-production-apis" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/model-cascades-tiered-llm-routing-production-apis" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/model-cascades-tiered-llm-routing-production-apis" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/model-cascades-tiered-llm-routing-production-apis" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/model-cascades-tiered-llm-routing-production-apis" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/change-data-capture-read-models-postgresql-logical-replication</loc>
    <lastmod>2026-06-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/change-data-capture-read-models-postgresql-logical-replication" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/change-data-capture-read-models-postgresql-logical-replication" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/change-data-capture-read-models-postgresql-logical-replication" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/change-data-capture-read-models-postgresql-logical-replication" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/change-data-capture-read-models-postgresql-logical-replication" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/change-data-capture-read-models-postgresql-logical-replication" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/change-data-capture-production-logical-replication-consumer-design</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/change-data-capture-production-logical-replication-consumer-design" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/change-data-capture-production-logical-replication-consumer-design" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/change-data-capture-production-logical-replication-consumer-design" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/change-data-capture-production-logical-replication-consumer-design" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/change-data-capture-production-logical-replication-consumer-design" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/change-data-capture-production-logical-replication-consumer-design" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/change-data-capture-reactive-backends-cache-invalidation-read-models</loc>
    <lastmod>2026-06-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/change-data-capture-reactive-backends-cache-invalidation-read-models" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/change-data-capture-reactive-backends-cache-invalidation-read-models" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/change-data-capture-reactive-backends-cache-invalidation-read-models" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/change-data-capture-reactive-backends-cache-invalidation-read-models" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/change-data-capture-reactive-backends-cache-invalidation-read-models" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/change-data-capture-reactive-backends-cache-invalidation-read-models" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/tiered-model-routing-llm-apis-cost-quality-tradeoffs</loc>
    <lastmod>2026-06-17</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/tiered-model-routing-llm-apis-cost-quality-tradeoffs" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/tiered-model-routing-llm-apis-cost-quality-tradeoffs" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/tiered-model-routing-llm-apis-cost-quality-tradeoffs" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/tiered-model-routing-llm-apis-cost-quality-tradeoffs" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/tiered-model-routing-llm-apis-cost-quality-tradeoffs" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/tiered-model-routing-llm-apis-cost-quality-tradeoffs" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/llm-inference-gateways-model-routing-fallback-cost-controls</loc>
    <lastmod>2026-06-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/llm-inference-gateways-model-routing-fallback-cost-controls" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/llm-inference-gateways-model-routing-fallback-cost-controls" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/llm-inference-gateways-model-routing-fallback-cost-controls" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/llm-inference-gateways-model-routing-fallback-cost-controls" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/llm-inference-gateways-model-routing-fallback-cost-controls" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/llm-inference-gateways-model-routing-fallback-cost-controls" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/change-data-capture-database-events-production-patterns</loc>
    <lastmod>2026-06-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/change-data-capture-database-events-production-patterns" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/change-data-capture-database-events-production-patterns" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/change-data-capture-database-events-production-patterns" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/change-data-capture-database-events-production-patterns" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/change-data-capture-database-events-production-patterns" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/change-data-capture-database-events-production-patterns" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/hybrid-search-production-rag-bm25-vectors-rank-fusion</loc>
    <lastmod>2026-06-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/hybrid-search-production-rag-bm25-vectors-rank-fusion" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/hybrid-search-production-rag-bm25-vectors-rank-fusion" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/hybrid-search-production-rag-bm25-vectors-rank-fusion" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/hybrid-search-production-rag-bm25-vectors-rank-fusion" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/hybrid-search-production-rag-bm25-vectors-rank-fusion" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/hybrid-search-production-rag-bm25-vectors-rank-fusion" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/context-engineering-production-llm-applications</loc>
    <lastmod>2026-06-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/context-engineering-production-llm-applications" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/context-engineering-production-llm-applications" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/context-engineering-production-llm-applications" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/context-engineering-production-llm-applications" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/context-engineering-production-llm-applications" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/context-engineering-production-llm-applications" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/llm-cost-governance-token-budgets-model-routing-spend-guardrails</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/llm-cost-governance-token-budgets-model-routing-spend-guardrails" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/llm-cost-governance-token-budgets-model-routing-spend-guardrails" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/llm-cost-governance-token-budgets-model-routing-spend-guardrails" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/llm-cost-governance-token-budgets-model-routing-spend-guardrails" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/llm-cost-governance-token-budgets-model-routing-spend-guardrails" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/llm-cost-governance-token-budgets-model-routing-spend-guardrails" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/outbound-webhook-delivery-signing-retries-dead-letters</loc>
    <lastmod>2026-06-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/outbound-webhook-delivery-signing-retries-dead-letters" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/outbound-webhook-delivery-signing-retries-dead-letters" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/outbound-webhook-delivery-signing-retries-dead-letters" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/outbound-webhook-delivery-signing-retries-dead-letters" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/outbound-webhook-delivery-signing-retries-dead-letters" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/outbound-webhook-delivery-signing-retries-dead-letters" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/llm-provider-routing-fallback-hedging-cost-aware-selection</loc>
    <lastmod>2026-06-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/llm-provider-routing-fallback-hedging-cost-aware-selection" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/llm-provider-routing-fallback-hedging-cost-aware-selection" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/llm-provider-routing-fallback-hedging-cost-aware-selection" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/llm-provider-routing-fallback-hedging-cost-aware-selection" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/llm-provider-routing-fallback-hedging-cost-aware-selection" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/llm-provider-routing-fallback-hedging-cost-aware-selection" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/outbound-webhook-delivery-signing-retries-and-operations</loc>
    <lastmod>2026-06-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/outbound-webhook-delivery-signing-retries-and-operations" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/outbound-webhook-delivery-signing-retries-and-operations" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/outbound-webhook-delivery-signing-retries-and-operations" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/outbound-webhook-delivery-signing-retries-and-operations" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/outbound-webhook-delivery-signing-retries-and-operations" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/outbound-webhook-delivery-signing-retries-and-operations" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/outbound-webhooks-saas-delivery-signing-retries-subscriber-lifecycle</loc>
    <lastmod>2026-06-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/outbound-webhooks-saas-delivery-signing-retries-subscriber-lifecycle" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/outbound-webhooks-saas-delivery-signing-retries-subscriber-lifecycle" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/outbound-webhooks-saas-delivery-signing-retries-subscriber-lifecycle" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/outbound-webhooks-saas-delivery-signing-retries-subscriber-lifecycle" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/outbound-webhooks-saas-delivery-signing-retries-subscriber-lifecycle" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/outbound-webhooks-saas-delivery-signing-retries-subscriber-lifecycle" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/change-data-capture-cache-invalidation-postgresql-wal</loc>
    <lastmod>2026-06-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/change-data-capture-cache-invalidation-postgresql-wal" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/change-data-capture-cache-invalidation-postgresql-wal" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/change-data-capture-cache-invalidation-postgresql-wal" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/change-data-capture-cache-invalidation-postgresql-wal" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/change-data-capture-cache-invalidation-postgresql-wal" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/change-data-capture-cache-invalidation-postgresql-wal" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/llm-model-routing-fallback-chains-latency-quality-cost</loc>
    <lastmod>2026-06-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/llm-model-routing-fallback-chains-latency-quality-cost" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/llm-model-routing-fallback-chains-latency-quality-cost" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/llm-model-routing-fallback-chains-latency-quality-cost" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/llm-model-routing-fallback-chains-latency-quality-cost" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/llm-model-routing-fallback-chains-latency-quality-cost" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/llm-model-routing-fallback-chains-latency-quality-cost" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/reliable-webhook-emitters-delivery-signing-backoff-observability</loc>
    <lastmod>2026-06-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/reliable-webhook-emitters-delivery-signing-backoff-observability" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/reliable-webhook-emitters-delivery-signing-backoff-observability" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/reliable-webhook-emitters-delivery-signing-backoff-observability" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/reliable-webhook-emitters-delivery-signing-backoff-observability" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/reliable-webhook-emitters-delivery-signing-backoff-observability" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/reliable-webhook-emitters-delivery-signing-backoff-observability" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/retry-budgets-exponential-backoff-full-jitter-production-clients</loc>
    <lastmod>2026-06-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/retry-budgets-exponential-backoff-full-jitter-production-clients" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/retry-budgets-exponential-backoff-full-jitter-production-clients" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/retry-budgets-exponential-backoff-full-jitter-production-clients" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/retry-budgets-exponential-backoff-full-jitter-production-clients" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/retry-budgets-exponential-backoff-full-jitter-production-clients" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/retry-budgets-exponential-backoff-full-jitter-production-clients" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/human-in-the-loop-llm-tool-approval-production</loc>
    <lastmod>2026-06-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/human-in-the-loop-llm-tool-approval-production" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/human-in-the-loop-llm-tool-approval-production" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/human-in-the-loop-llm-tool-approval-production" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/human-in-the-loop-llm-tool-approval-production" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/human-in-the-loop-llm-tool-approval-production" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/human-in-the-loop-llm-tool-approval-production" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/consumer-inbox-pattern-idempotent-message-processing</loc>
    <lastmod>2026-06-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/consumer-inbox-pattern-idempotent-message-processing" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/consumer-inbox-pattern-idempotent-message-processing" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/consumer-inbox-pattern-idempotent-message-processing" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/consumer-inbox-pattern-idempotent-message-processing" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/consumer-inbox-pattern-idempotent-message-processing" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/consumer-inbox-pattern-idempotent-message-processing" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/change-data-capture-postgresql-event-driven-architecture</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/change-data-capture-postgresql-event-driven-architecture" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/change-data-capture-postgresql-event-driven-architecture" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/change-data-capture-postgresql-event-driven-architecture" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/change-data-capture-postgresql-event-driven-architecture" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/change-data-capture-postgresql-event-driven-architecture" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/change-data-capture-postgresql-event-driven-architecture" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/designing-batch-http-apis-partial-success-limits-and-safe-writes</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/designing-batch-http-apis-partial-success-limits-and-safe-writes" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/designing-batch-http-apis-partial-success-limits-and-safe-writes" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/designing-batch-http-apis-partial-success-limits-and-safe-writes" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/designing-batch-http-apis-partial-success-limits-and-safe-writes" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/designing-batch-http-apis-partial-success-limits-and-safe-writes" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/designing-batch-http-apis-partial-success-limits-and-safe-writes" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/llm-model-routing-production-tiered-models-fallbacks-quality-gates</loc>
    <lastmod>2026-05-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/llm-model-routing-production-tiered-models-fallbacks-quality-gates" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/llm-model-routing-production-tiered-models-fallbacks-quality-gates" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/llm-model-routing-production-tiered-models-fallbacks-quality-gates" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/llm-model-routing-production-tiered-models-fallbacks-quality-gates" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/llm-model-routing-production-tiered-models-fallbacks-quality-gates" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/llm-model-routing-production-tiered-models-fallbacks-quality-gates" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-change-data-capture-production-pipelines</loc>
    <lastmod>2026-05-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-change-data-capture-production-pipelines" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-change-data-capture-production-pipelines" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-change-data-capture-production-pipelines" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-change-data-capture-production-pipelines" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-change-data-capture-production-pipelines" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-change-data-capture-production-pipelines" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-change-data-capture-production-patterns</loc>
    <lastmod>2026-05-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-change-data-capture-production-patterns" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-change-data-capture-production-patterns" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-change-data-capture-production-patterns" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-change-data-capture-production-patterns" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-change-data-capture-production-patterns" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-change-data-capture-production-patterns" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/version-skew-rolling-deployments-backward-compatibility-production</loc>
    <lastmod>2026-05-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/version-skew-rolling-deployments-backward-compatibility-production" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/version-skew-rolling-deployments-backward-compatibility-production" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/version-skew-rolling-deployments-backward-compatibility-production" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/version-skew-rolling-deployments-backward-compatibility-production" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/version-skew-rolling-deployments-backward-compatibility-production" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/version-skew-rolling-deployments-backward-compatibility-production" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/privacy-conscious-observability-llm-backends-logs-metrics-traces</loc>
    <lastmod>2026-05-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/privacy-conscious-observability-llm-backends-logs-metrics-traces" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/privacy-conscious-observability-llm-backends-logs-metrics-traces" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/privacy-conscious-observability-llm-backends-logs-metrics-traces" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/privacy-conscious-observability-llm-backends-logs-metrics-traces" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/privacy-conscious-observability-llm-backends-logs-metrics-traces" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/privacy-conscious-observability-llm-backends-logs-metrics-traces" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/human-review-queues-low-confidence-llm-outputs-production</loc>
    <lastmod>2026-05-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/human-review-queues-low-confidence-llm-outputs-production" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/human-review-queues-low-confidence-llm-outputs-production" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/human-review-queues-low-confidence-llm-outputs-production" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/human-review-queues-low-confidence-llm-outputs-production" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/human-review-queues-low-confidence-llm-outputs-production" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/human-review-queues-low-confidence-llm-outputs-production" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/parallel-data-fetching-react-server-components-nextjs</loc>
    <lastmod>2026-05-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/parallel-data-fetching-react-server-components-nextjs" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/parallel-data-fetching-react-server-components-nextjs" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/parallel-data-fetching-react-server-components-nextjs" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/parallel-data-fetching-react-server-components-nextjs" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/parallel-data-fetching-react-server-components-nextjs" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/parallel-data-fetching-react-server-components-nextjs" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-partial-covering-indexes-production-query-plans-write-amplification</loc>
    <lastmod>2026-05-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-partial-covering-indexes-production-query-plans-write-amplification" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-partial-covering-indexes-production-query-plans-write-amplification" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-partial-covering-indexes-production-query-plans-write-amplification" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-partial-covering-indexes-production-query-plans-write-amplification" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-partial-covering-indexes-production-query-plans-write-amplification" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-partial-covering-indexes-production-query-plans-write-amplification" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/nextjs-route-handlers-request-time-caching-and-dynamic-boundaries</loc>
    <lastmod>2026-05-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/nextjs-route-handlers-request-time-caching-and-dynamic-boundaries" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/nextjs-route-handlers-request-time-caching-and-dynamic-boundaries" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/nextjs-route-handlers-request-time-caching-and-dynamic-boundaries" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/nextjs-route-handlers-request-time-caching-and-dynamic-boundaries" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/nextjs-route-handlers-request-time-caching-and-dynamic-boundaries" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/nextjs-route-handlers-request-time-caching-and-dynamic-boundaries" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/batch-llm-inference-queues-fairness-multi-tenant-apis</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/batch-llm-inference-queues-fairness-multi-tenant-apis" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/batch-llm-inference-queues-fairness-multi-tenant-apis" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/batch-llm-inference-queues-fairness-multi-tenant-apis" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/batch-llm-inference-queues-fairness-multi-tenant-apis" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/batch-llm-inference-queues-fairness-multi-tenant-apis" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/batch-llm-inference-queues-fairness-multi-tenant-apis" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/human-in-the-loop-approval-workflows-ai-side-effects</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/human-in-the-loop-approval-workflows-ai-side-effects" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/human-in-the-loop-approval-workflows-ai-side-effects" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/human-in-the-loop-approval-workflows-ai-side-effects" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/human-in-the-loop-approval-workflows-ai-side-effects" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/human-in-the-loop-approval-workflows-ai-side-effects" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/human-in-the-loop-approval-workflows-ai-side-effects" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/model-agnostic-llm-service-layer-adapters-capabilities</loc>
    <lastmod>2026-05-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/model-agnostic-llm-service-layer-adapters-capabilities" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/model-agnostic-llm-service-layer-adapters-capabilities" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/model-agnostic-llm-service-layer-adapters-capabilities" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/model-agnostic-llm-service-layer-adapters-capabilities" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/model-agnostic-llm-service-layer-adapters-capabilities" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/model-agnostic-llm-service-layer-adapters-capabilities" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/compensating-actions-llm-tool-pipelines-partial-failure</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/compensating-actions-llm-tool-pipelines-partial-failure" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/compensating-actions-llm-tool-pipelines-partial-failure" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/compensating-actions-llm-tool-pipelines-partial-failure" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/compensating-actions-llm-tool-pipelines-partial-failure" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/compensating-actions-llm-tool-pipelines-partial-failure" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/compensating-actions-llm-tool-pipelines-partial-failure" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/outbound-http-clients-retry-budgets-retry-after-backoff</loc>
    <lastmod>2026-05-17</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/outbound-http-clients-retry-budgets-retry-after-backoff" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/outbound-http-clients-retry-budgets-retry-after-backoff" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/outbound-http-clients-retry-budgets-retry-after-backoff" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/outbound-http-clients-retry-budgets-retry-after-backoff" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/outbound-http-clients-retry-budgets-retry-after-backoff" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/outbound-http-clients-retry-budgets-retry-after-backoff" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/http-health-checks-liveness-readiness-kubernetes-nodejs</loc>
    <lastmod>2026-05-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/http-health-checks-liveness-readiness-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/http-health-checks-liveness-readiness-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/http-health-checks-liveness-readiness-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/http-health-checks-liveness-readiness-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/http-health-checks-liveness-readiness-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/http-health-checks-liveness-readiness-kubernetes-nodejs" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/websocket-production-patterns-heartbeats-backpressure-nodejs</loc>
    <lastmod>2026-05-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/websocket-production-patterns-heartbeats-backpressure-nodejs" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/websocket-production-patterns-heartbeats-backpressure-nodejs" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/websocket-production-patterns-heartbeats-backpressure-nodejs" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/websocket-production-patterns-heartbeats-backpressure-nodejs" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/websocket-production-patterns-heartbeats-backpressure-nodejs" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/websocket-production-patterns-heartbeats-backpressure-nodejs" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/json-schema-validation-llm-tool-calls-typescript</loc>
    <lastmod>2026-05-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/json-schema-validation-llm-tool-calls-typescript" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/json-schema-validation-llm-tool-calls-typescript" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/json-schema-validation-llm-tool-calls-typescript" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/json-schema-validation-llm-tool-calls-typescript" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/json-schema-validation-llm-tool-calls-typescript" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/json-schema-validation-llm-tool-calls-typescript" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/load-shedding-http-apis-prioritization-degradation</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/load-shedding-http-apis-prioritization-degradation" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/load-shedding-http-apis-prioritization-degradation" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/load-shedding-http-apis-prioritization-degradation" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/load-shedding-http-apis-prioritization-degradation" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/load-shedding-http-apis-prioritization-degradation" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/load-shedding-http-apis-prioritization-degradation" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/request-coalescing-single-flight-cache-stampede</loc>
    <lastmod>2026-05-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/request-coalescing-single-flight-cache-stampede" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/request-coalescing-single-flight-cache-stampede" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/request-coalescing-single-flight-cache-stampede" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/request-coalescing-single-flight-cache-stampede" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/request-coalescing-single-flight-cache-stampede" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/request-coalescing-single-flight-cache-stampede" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/openapi-source-of-truth-codegen-breaking-change-gates</loc>
    <lastmod>2026-05-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/openapi-source-of-truth-codegen-breaking-change-gates" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/openapi-source-of-truth-codegen-breaking-change-gates" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/openapi-source-of-truth-codegen-breaking-change-gates" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/openapi-source-of-truth-codegen-breaking-change-gates" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/openapi-source-of-truth-codegen-breaking-change-gates" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/openapi-source-of-truth-codegen-breaking-change-gates" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/github-actions-oidc-aws-short-lived-ci-credentials</loc>
    <lastmod>2026-05-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/github-actions-oidc-aws-short-lived-ci-credentials" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/github-actions-oidc-aws-short-lived-ci-credentials" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/github-actions-oidc-aws-short-lived-ci-credentials" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/github-actions-oidc-aws-short-lived-ci-credentials" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/github-actions-oidc-aws-short-lived-ci-credentials" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/github-actions-oidc-aws-short-lived-ci-credentials" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/distributed-scheduled-jobs-leases-idempotency-and-clocks</loc>
    <lastmod>2026-05-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/distributed-scheduled-jobs-leases-idempotency-and-clocks" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/distributed-scheduled-jobs-leases-idempotency-and-clocks" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/distributed-scheduled-jobs-leases-idempotency-and-clocks" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/distributed-scheduled-jobs-leases-idempotency-and-clocks" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/distributed-scheduled-jobs-leases-idempotency-and-clocks" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/distributed-scheduled-jobs-leases-idempotency-and-clocks" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/http-api-admission-control-concurrency-queues-load-shedding</loc>
    <lastmod>2026-05-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/http-api-admission-control-concurrency-queues-load-shedding" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/http-api-admission-control-concurrency-queues-load-shedding" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/http-api-admission-control-concurrency-queues-load-shedding" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/http-api-admission-control-concurrency-queues-load-shedding" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/http-api-admission-control-concurrency-queues-load-shedding" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/http-api-admission-control-concurrency-queues-load-shedding" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/presigned-url-object-uploads-security-pipelines-and-async-verification</loc>
    <lastmod>2026-05-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/presigned-url-object-uploads-security-pipelines-and-async-verification" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/presigned-url-object-uploads-security-pipelines-and-async-verification" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/presigned-url-object-uploads-security-pipelines-and-async-verification" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/presigned-url-object-uploads-security-pipelines-and-async-verification" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/presigned-url-object-uploads-security-pipelines-and-async-verification" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/presigned-url-object-uploads-security-pipelines-and-async-verification" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/api-contract-testing-pact-consumer-provider-workflows</loc>
    <lastmod>2026-05-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/api-contract-testing-pact-consumer-provider-workflows" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/api-contract-testing-pact-consumer-provider-workflows" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/api-contract-testing-pact-consumer-provider-workflows" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/api-contract-testing-pact-consumer-provider-workflows" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/api-contract-testing-pact-consumer-provider-workflows" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/api-contract-testing-pact-consumer-provider-workflows" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/nodejs-asynclocalstorage-request-context-production-apis</loc>
    <lastmod>2026-05-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/nodejs-asynclocalstorage-request-context-production-apis" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/nodejs-asynclocalstorage-request-context-production-apis" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/nodejs-asynclocalstorage-request-context-production-apis" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/nodejs-asynclocalstorage-request-context-production-apis" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/nodejs-asynclocalstorage-request-context-production-apis" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/nodejs-asynclocalstorage-request-context-production-apis" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/rfc-9457-problem-details-for-http-apis</loc>
    <lastmod>2026-05-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/rfc-9457-problem-details-for-http-apis" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/rfc-9457-problem-details-for-http-apis" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/rfc-9457-problem-details-for-http-apis" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/rfc-9457-problem-details-for-http-apis" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/rfc-9457-problem-details-for-http-apis" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/rfc-9457-problem-details-for-http-apis" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-listen-notify-real-time-invalidation-patterns-and-limits</loc>
    <lastmod>2026-05-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-listen-notify-real-time-invalidation-patterns-and-limits" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-listen-notify-real-time-invalidation-patterns-and-limits" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-listen-notify-real-time-invalidation-patterns-and-limits" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-listen-notify-real-time-invalidation-patterns-and-limits" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-listen-notify-real-time-invalidation-patterns-and-limits" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-listen-notify-real-time-invalidation-patterns-and-limits" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/jwt-vs-opaque-api-tokens-sessions-revocation-scalability</loc>
    <lastmod>2026-05-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/jwt-vs-opaque-api-tokens-sessions-revocation-scalability" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/jwt-vs-opaque-api-tokens-sessions-revocation-scalability" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/jwt-vs-opaque-api-tokens-sessions-revocation-scalability" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/jwt-vs-opaque-api-tokens-sessions-revocation-scalability" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/jwt-vs-opaque-api-tokens-sessions-revocation-scalability" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/jwt-vs-opaque-api-tokens-sessions-revocation-scalability" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-advisory-locks-coordination-correctness</loc>
    <lastmod>2026-04-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-advisory-locks-coordination-correctness" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-advisory-locks-coordination-correctness" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-advisory-locks-coordination-correctness" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-advisory-locks-coordination-correctness" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-advisory-locks-coordination-correctness" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-advisory-locks-coordination-correctness" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/llm-as-judge-evaluation-rubrics-calibration-production</loc>
    <lastmod>2026-04-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/llm-as-judge-evaluation-rubrics-calibration-production" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/llm-as-judge-evaluation-rubrics-calibration-production" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/llm-as-judge-evaluation-rubrics-calibration-production" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/llm-as-judge-evaluation-rubrics-calibration-production" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/llm-as-judge-evaluation-rubrics-calibration-production" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/llm-as-judge-evaluation-rubrics-calibration-production" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-connection-pooling-kubernetes-nodejs-pgbouncer</loc>
    <lastmod>2026-04-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-connection-pooling-kubernetes-nodejs-pgbouncer" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-connection-pooling-kubernetes-nodejs-pgbouncer" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-connection-pooling-kubernetes-nodejs-pgbouncer" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-connection-pooling-kubernetes-nodejs-pgbouncer" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-connection-pooling-kubernetes-nodejs-pgbouncer" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-connection-pooling-kubernetes-nodejs-pgbouncer" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/hybrid-logical-clocks-ordering-events-distributed-systems</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/hybrid-logical-clocks-ordering-events-distributed-systems" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/hybrid-logical-clocks-ordering-events-distributed-systems" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/hybrid-logical-clocks-ordering-events-distributed-systems" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/hybrid-logical-clocks-ordering-events-distributed-systems" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/hybrid-logical-clocks-ordering-events-distributed-systems" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/hybrid-logical-clocks-ordering-events-distributed-systems" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/oauth-21-authorization-code-pkce-refresh-rotation-production-apis</loc>
    <lastmod>2026-04-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/oauth-21-authorization-code-pkce-refresh-rotation-production-apis" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/oauth-21-authorization-code-pkce-refresh-rotation-production-apis" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/oauth-21-authorization-code-pkce-refresh-rotation-production-apis" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/oauth-21-authorization-code-pkce-refresh-rotation-production-apis" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/oauth-21-authorization-code-pkce-refresh-rotation-production-apis" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/oauth-21-authorization-code-pkce-refresh-rotation-production-apis" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/request-deadlines-cancellation-backpressure-nodejs-http</loc>
    <lastmod>2026-04-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/request-deadlines-cancellation-backpressure-nodejs-http" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/request-deadlines-cancellation-backpressure-nodejs-http" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/request-deadlines-cancellation-backpressure-nodejs-http" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/request-deadlines-cancellation-backpressure-nodejs-http" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/request-deadlines-cancellation-backpressure-nodejs-http" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/request-deadlines-cancellation-backpressure-nodejs-http" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/optimistic-concurrency-http-apis-etags-if-match-and-conflict-design</loc>
    <lastmod>2026-04-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/optimistic-concurrency-http-apis-etags-if-match-and-conflict-design" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/optimistic-concurrency-http-apis-etags-if-match-and-conflict-design" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/optimistic-concurrency-http-apis-etags-if-match-and-conflict-design" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/optimistic-concurrency-http-apis-etags-if-match-and-conflict-design" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/optimistic-concurrency-http-apis-etags-if-match-and-conflict-design" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/optimistic-concurrency-http-apis-etags-if-match-and-conflict-design" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/http-streaming-sse-chunked-responses-production-backends</loc>
    <lastmod>2026-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/http-streaming-sse-chunked-responses-production-backends" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/http-streaming-sse-chunked-responses-production-backends" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/http-streaming-sse-chunked-responses-production-backends" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/http-streaming-sse-chunked-responses-production-backends" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/http-streaming-sse-chunked-responses-production-backends" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/http-streaming-sse-chunked-responses-production-backends" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/service-level-objectives-error-budgets-practical-sre</loc>
    <lastmod>2026-04-21</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/service-level-objectives-error-budgets-practical-sre" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/service-level-objectives-error-budgets-practical-sre" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/service-level-objectives-error-budgets-practical-sre" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/service-level-objectives-error-budgets-practical-sre" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/service-level-objectives-error-budgets-practical-sre" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/service-level-objectives-error-budgets-practical-sre" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/multi-turn-llm-backends-session-state-tool-calls</loc>
    <lastmod>2026-04-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/multi-turn-llm-backends-session-state-tool-calls" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/multi-turn-llm-backends-session-state-tool-calls" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/multi-turn-llm-backends-session-state-tool-calls" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/multi-turn-llm-backends-session-state-tool-calls" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/multi-turn-llm-backends-session-state-tool-calls" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/multi-turn-llm-backends-session-state-tool-calls" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/distributed-locks-fencing-tokens-stale-clients</loc>
    <lastmod>2026-04-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/distributed-locks-fencing-tokens-stale-clients" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/distributed-locks-fencing-tokens-stale-clients" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/distributed-locks-fencing-tokens-stale-clients" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/distributed-locks-fencing-tokens-stale-clients" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/distributed-locks-fencing-tokens-stale-clients" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/distributed-locks-fencing-tokens-stale-clients" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/server-side-feature-flags-distributed-backends-evaluation-consistency</loc>
    <lastmod>2026-04-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/server-side-feature-flags-distributed-backends-evaluation-consistency" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/server-side-feature-flags-distributed-backends-evaluation-consistency" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/server-side-feature-flags-distributed-backends-evaluation-consistency" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/server-side-feature-flags-distributed-backends-evaluation-consistency" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/server-side-feature-flags-distributed-backends-evaluation-consistency" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/server-side-feature-flags-distributed-backends-evaluation-consistency" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/dead-letter-queues-async-backends-redrive-and-operations</loc>
    <lastmod>2026-04-17</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/dead-letter-queues-async-backends-redrive-and-operations" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/dead-letter-queues-async-backends-redrive-and-operations" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/dead-letter-queues-async-backends-redrive-and-operations" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/dead-letter-queues-async-backends-redrive-and-operations" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/dead-letter-queues-async-backends-redrive-and-operations" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/dead-letter-queues-async-backends-redrive-and-operations" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/read-your-writes-consistency-cdn-api-caching</loc>
    <lastmod>2026-04-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/read-your-writes-consistency-cdn-api-caching" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/read-your-writes-consistency-cdn-api-caching" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/read-your-writes-consistency-cdn-api-caching" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/read-your-writes-consistency-cdn-api-caching" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/read-your-writes-consistency-cdn-api-caching" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/read-your-writes-consistency-cdn-api-caching" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/postgresql-row-level-security-multi-tenant-saas</loc>
    <lastmod>2026-04-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/postgresql-row-level-security-multi-tenant-saas" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/postgresql-row-level-security-multi-tenant-saas" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/postgresql-row-level-security-multi-tenant-saas" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/postgresql-row-level-security-multi-tenant-saas" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/postgresql-row-level-security-multi-tenant-saas" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/postgresql-row-level-security-multi-tenant-saas" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/read-your-writes-consistency-replicas-routing-tokens</loc>
    <lastmod>2026-04-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/read-your-writes-consistency-replicas-routing-tokens" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/read-your-writes-consistency-replicas-routing-tokens" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/read-your-writes-consistency-replicas-routing-tokens" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/read-your-writes-consistency-replicas-routing-tokens" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/read-your-writes-consistency-replicas-routing-tokens" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/read-your-writes-consistency-replicas-routing-tokens" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/llm-trust-boundaries-prompt-injection-and-defense-in-depth</loc>
    <lastmod>2026-04-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/llm-trust-boundaries-prompt-injection-and-defense-in-depth" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/llm-trust-boundaries-prompt-injection-and-defense-in-depth" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/llm-trust-boundaries-prompt-injection-and-defense-in-depth" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/llm-trust-boundaries-prompt-injection-and-defense-in-depth" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/llm-trust-boundaries-prompt-injection-and-defense-in-depth" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/llm-trust-boundaries-prompt-injection-and-defense-in-depth" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/zero-downtime-database-migrations-expand-contract-pattern</loc>
    <lastmod>2026-04-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/zero-downtime-database-migrations-expand-contract-pattern" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/zero-downtime-database-migrations-expand-contract-pattern" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/zero-downtime-database-migrations-expand-contract-pattern" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/zero-downtime-database-migrations-expand-contract-pattern" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/zero-downtime-database-migrations-expand-contract-pattern" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/zero-downtime-database-migrations-expand-contract-pattern" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/graceful-shutdown-http-services-kubernetes-nodejs</loc>
    <lastmod>2026-04-11</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/graceful-shutdown-http-services-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/graceful-shutdown-http-services-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/graceful-shutdown-http-services-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/graceful-shutdown-http-services-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/graceful-shutdown-http-services-kubernetes-nodejs" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/graceful-shutdown-http-services-kubernetes-nodejs" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/semantic-caching-for-llm-apis-cost-latency-and-correctness</loc>
    <lastmod>2026-04-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/semantic-caching-for-llm-apis-cost-latency-and-correctness" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/semantic-caching-for-llm-apis-cost-latency-and-correctness" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/semantic-caching-for-llm-apis-cost-latency-and-correctness" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/semantic-caching-for-llm-apis-cost-latency-and-correctness" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/semantic-caching-for-llm-apis-cost-latency-and-correctness" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/semantic-caching-for-llm-apis-cost-latency-and-correctness" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/keyset-pagination-stable-scalable-feeds</loc>
    <lastmod>2026-04-09</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/keyset-pagination-stable-scalable-feeds" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/keyset-pagination-stable-scalable-feeds" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/keyset-pagination-stable-scalable-feeds" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/keyset-pagination-stable-scalable-feeds" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/keyset-pagination-stable-scalable-feeds" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/keyset-pagination-stable-scalable-feeds" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/optimistic-ui-server-reconciliation-patterns</loc>
    <lastmod>2026-04-08</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/optimistic-ui-server-reconciliation-patterns" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/optimistic-ui-server-reconciliation-patterns" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/optimistic-ui-server-reconciliation-patterns" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/optimistic-ui-server-reconciliation-patterns" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/optimistic-ui-server-reconciliation-patterns" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/optimistic-ui-server-reconciliation-patterns" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/production-webhook-receivers-signatures-replay-idempotency</loc>
    <lastmod>2026-04-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/production-webhook-receivers-signatures-replay-idempotency" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/production-webhook-receivers-signatures-replay-idempotency" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/production-webhook-receivers-signatures-replay-idempotency" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/production-webhook-receivers-signatures-replay-idempotency" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/production-webhook-receivers-signatures-replay-idempotency" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/production-webhook-receivers-signatures-replay-idempotency" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/distributed-sagas-choreography-vs-orchestration</loc>
    <lastmod>2026-04-06</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/distributed-sagas-choreography-vs-orchestration" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/distributed-sagas-choreography-vs-orchestration" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/distributed-sagas-choreography-vs-orchestration" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/distributed-sagas-choreography-vs-orchestration" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/distributed-sagas-choreography-vs-orchestration" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/distributed-sagas-choreography-vs-orchestration" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/production-llm-api-integration-streaming-structured-outputs-resilience</loc>
    <lastmod>2026-04-05</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/production-llm-api-integration-streaming-structured-outputs-resilience" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/production-llm-api-integration-streaming-structured-outputs-resilience" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/production-llm-api-integration-streaming-structured-outputs-resilience" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/production-llm-api-integration-streaming-structured-outputs-resilience" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/production-llm-api-integration-streaming-structured-outputs-resilience" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/production-llm-api-integration-streaming-structured-outputs-resilience" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/rag-pipelines-chunking-evaluation-production</loc>
    <lastmod>2026-04-04</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/rag-pipelines-chunking-evaluation-production" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/rag-pipelines-chunking-evaluation-production" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/rag-pipelines-chunking-evaluation-production" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/rag-pipelines-chunking-evaluation-production" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/rag-pipelines-chunking-evaluation-production" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/rag-pipelines-chunking-evaluation-production" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/distributed-tracing-w3c-trace-context-opentelemetry</loc>
    <lastmod>2026-04-03</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/distributed-tracing-w3c-trace-context-opentelemetry" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/distributed-tracing-w3c-trace-context-opentelemetry" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/distributed-tracing-w3c-trace-context-opentelemetry" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/distributed-tracing-w3c-trace-context-opentelemetry" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/distributed-tracing-w3c-trace-context-opentelemetry" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/distributed-tracing-w3c-trace-context-opentelemetry" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/api-rate-limiting-design-token-bucket-sliding-window</loc>
    <lastmod>2026-04-02</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/api-rate-limiting-design-token-bucket-sliding-window" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/api-rate-limiting-design-token-bucket-sliding-window" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/api-rate-limiting-design-token-bucket-sliding-window" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/api-rate-limiting-design-token-bucket-sliding-window" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/api-rate-limiting-design-token-bucket-sliding-window" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/api-rate-limiting-design-token-bucket-sliding-window" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/transactional-outbox-reliable-event-publishing</loc>
    <lastmod>2026-04-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/transactional-outbox-reliable-event-publishing" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/transactional-outbox-reliable-event-publishing" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/transactional-outbox-reliable-event-publishing" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/transactional-outbox-reliable-event-publishing" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/transactional-outbox-reliable-event-publishing" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/transactional-outbox-reliable-event-publishing" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/api-evolution-and-backward-compatibility</loc>
    <lastmod>2026-04-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/api-evolution-and-backward-compatibility" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/api-evolution-and-backward-compatibility" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/api-evolution-and-backward-compatibility" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/api-evolution-and-backward-compatibility" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/api-evolution-and-backward-compatibility" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/api-evolution-and-backward-compatibility" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/operational-observability-for-production-services</loc>
    <lastmod>2026-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/operational-observability-for-production-services" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/operational-observability-for-production-services" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/operational-observability-for-production-services" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/operational-observability-for-production-services" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/operational-observability-for-production-services" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/operational-observability-for-production-services" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/circuit-breakers-bulkheads-and-timeouts</loc>
    <lastmod>2026-03-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/circuit-breakers-bulkheads-and-timeouts" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/circuit-breakers-bulkheads-and-timeouts" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/circuit-breakers-bulkheads-and-timeouts" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/circuit-breakers-bulkheads-and-timeouts" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/circuit-breakers-bulkheads-and-timeouts" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/circuit-breakers-bulkheads-and-timeouts" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/idempotency-keys-and-safe-retries</loc>
    <lastmod>2026-03-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/idempotency-keys-and-safe-retries" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/idempotency-keys-and-safe-retries" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/idempotency-keys-and-safe-retries" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/idempotency-keys-and-safe-retries" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/idempotency-keys-and-safe-retries" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/idempotency-keys-and-safe-retries" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/governing-ai-assisted-software-development</loc>
    <lastmod>2026-03-30</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/governing-ai-assisted-software-development" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/governing-ai-assisted-software-development" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/governing-ai-assisted-software-development" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/governing-ai-assisted-software-development" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/governing-ai-assisted-software-development" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/governing-ai-assisted-software-development" />
  </url>
  <url>
    <loc>https://matheuspalma.com/blog/typescript-discipline-at-scale</loc>
    <lastmod>2026-03-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://matheuspalma.com/blog/typescript-discipline-at-scale" />
    <xhtml:link rel="alternate" hreflang="pt" href="https://matheuspalma.com/pt/blog/typescript-discipline-at-scale" />
    <xhtml:link rel="alternate" hreflang="es" href="https://matheuspalma.com/es/blog/typescript-discipline-at-scale" />
    <xhtml:link rel="alternate" hreflang="zh" href="https://matheuspalma.com/zh/blog/typescript-discipline-at-scale" />
    <xhtml:link rel="alternate" hreflang="de" href="https://matheuspalma.com/de/blog/typescript-discipline-at-scale" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://matheuspalma.com/blog/typescript-discipline-at-scale" />
  </url>
</urlset>
