<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Engineering Notes</title>
  <link>https://engineering-notes.com/</link>
  <description>Notes on backend systems, observability and distributed tracing.</description>
  <language>en</language>
  <atom:link href="https://engineering-notes.com/feed.xml" rel="self" type="application/rss+xml"/>
  <lastBuildDate>Sun, 07 Jun 2026 11:06:47 GMT</lastBuildDate>


  <item>
    <title>Connection pool sizing for high-concurrency Go services</title>
    <link>https://engineering-notes.com/posts/connection-pool-sizing-go.html</link>
    <guid>https://engineering-notes.com/posts/connection-pool-sizing-go.html</guid>
    <pubDate>Tue, 02 Jun 2026 12:00:00 GMT</pubDate>
    <description>Last quarter I spent a frustrating week chasing a latency regression in one of our payment routing services. The p99 grew from 12ms to 80ms after we doubled traffic, but CPU was idle and the database itself was bored. The culprit was a misconfigured pgxpool that I had inherited a</description>
  </item>
  <item>
    <title>Backpressure in gRPC streaming</title>
    <link>https://engineering-notes.com/posts/grpc-streaming-backpressure.html</link>
    <guid>https://engineering-notes.com/posts/grpc-streaming-backpressure.html</guid>
    <pubDate>Sat, 14 Mar 2026 12:00:00 GMT</pubDate>
    <description>HTTP/2 flow control plus a pull-based control channel to make consumer rate observable on the server.</description>
  </item>
  <item>
    <title>Choosing PgBouncer pooling modes</title>
    <link>https://engineering-notes.com/posts/postgres-pgbouncer-pooling-modes.html</link>
    <guid>https://engineering-notes.com/posts/postgres-pgbouncer-pooling-modes.html</guid>
    <pubDate>Sun, 22 Feb 2026 12:00:00 GMT</pubDate>
    <description>Session, transaction and statement pooling each break a different subset of postgres features.</description>
  </item>
  <item>
    <title>Tail sampling with the OpenTelemetry collector</title>
    <link>https://engineering-notes.com/posts/otel-collector-tail-sampling.html</link>
    <guid>https://engineering-notes.com/posts/otel-collector-tail-sampling.html</guid>
    <pubDate>Fri, 30 Jan 2026 12:00:00 GMT</pubDate>
    <description>Moving the sampling decision from the SDK to the collector to keep what matters.</description>
  </item>
  <item>
    <title>Static membership saved our rebalance budget</title>
    <link>https://engineering-notes.com/posts/kafka-rebalance-static-membership.html</link>
    <guid>https://engineering-notes.com/posts/kafka-rebalance-static-membership.html</guid>
    <pubDate>Fri, 12 Dec 2025 12:00:00 GMT</pubDate>
    <description>KIP-345 cut our rolling-deploy rebalance from two minutes to under five seconds.</description>
  </item>
</channel>
</rss>
