Archives
All the articles I've archived.
20262
September2
One worker is not keeping up. Consumer concurrency in NATS
Updated:Part 2 of a series on NATS. Adding a second worker is not more of the same problem: shared pools versus fan-out, what asyncio buys you and what the GIL takes back, and what ordering costs measured in messages per second.
"Sent" is not the same as "delivered". Delivery guarantees in NATS
Updated:Part 1 of a series on NATS. Core NATS loses messages silently, JetStream delivers them more than once, and neither is a bug. What each guarantee costs, shown with runnable Python demos.