Patterns for scalability and availability in (trading) systems
summary
A Microsoft .NET trading platform is built to handle 500,000 price updates per second, process ~2,000 trades per second and book over a million trades daily while keeping single-digit millisecond latencies. Design uses multicast publish/subscribe, in-memory partitioned services, asynchronous transaction registration with in-memory replication and replay, and a persistent transaction logger that writes asynchronously to mirrored databases. Uses commercial low‑latency middleware like Informatic LBM multicast and runs critical services on bare metal, and the architecture reports it holds up under real market spikes.
AI-written summary · about
chapters (32)
- 0:00Intro
- 0:46About Saxo Bank
- 2:01Business model
- 2:33Asset types
- 2:53Service requirements
- 7:49Business challenges
- 9:19Critical business flows
- 11:24Exponential business growth
- 11:54Reactive systems
- 14:46Technical environment
- 16:00Architecture
- 21:01Patterns
- 26:29The humble beginnings
- 28:45Synchronous transaction registrations
- 40:54Casual eventual consistency
- 42:10Transport latency
- 44:31Scalability resilient
- 44:56Race conditions
- 46:03Asynchronous transaction registration
- 48:32Fail theory
- 49:07Commercial products
- 49:52Price updates
- 50:17Graceful failure
- 50:41Traditional mirroring
- 51:12Use cases
- 52:13Culture
- 53:06Incident management
- 54:30Realtime reactive
- 55:14Learning points
- 57:37Be careful
- 58:09Questions
- 58:40Best days
related talks
17mExtreme Engineering-Elements of Building a High -scale Broking Application
20mMarket Data: Applying SRE Techniques to Legacy Designs
41mTracing Real-Time Distributed Systems
11mMitigating Against Large Scale Systemic Failures in E-Trading
47mProduction Engineering When Trading Billions of Dollars a Day
34mDesigning, Building and Testing Deterministic HFT Systems
56mDistributed Messaging patterns
51mExperience Developing, Debugging, and Deploying a Hot-Swap Trading System
