DIY Async Message Pump: Lessons from the trenches
summary
A simple async pump using TPL and async/await becomes dangerous when unbounded concurrency spawns tens of thousands of tasks (demo shows ~30,000 ops in 100ms), overwhelming a database connection pool; the fix is a concurrency gate like semaphore slim (example limits to 3 or sized to DB pool e.g. 100) plus graceful shutdown. Builds include transactional patterns (MSMQ+SQL DTC two‑phase commit), cloud caveats (visibility timeouts, costs) and broker features like send-via; the library works in production for months until middleware and topology needs make it brittle.
AI-written summary · about
chapters (10)
- 0:00Intro
- 0:13DIY Async Message Pump Lessons from the trenches
- 4:22doom
- 6:18messaging
- 20:26concurrency
- 23:57Rush hour
- 32:17As time passes
- 38:32Life beyond transactions
- 47:41Penny Pinching
- 57:38insights
related talks
46mDIY Async Message Pump: Lessons from the trenches
46mDIY Async Message Pump: Lessons from the trenches
56mDistributed Messaging patterns
47mEverything Loosely Coupled - Advanced Integration Patterns and Their Trade-Offs
01h 01mBeyond Pub/Sub - Advanced Messaging Patterns
01h 01mThe Unsung Hero of Modern Software: Asynchronous Messaging
01h 03mBeyond Pub/Sub - Advanced Messaging Patterns
01h 02mMessaging Patterns for Modern Software Solutions
