Andrew Harcourt
  • Personal
    • Posts
    • Life, the universe and everything
    • On the web
    • andrew.b.harcourt on Threads
    • andrew.b.harcourt on Instagram
    • Andrew Harcourt on Strava
    • Andrew Harcourt on Spotify
  • Photo albums
    • Out and about
    • 14th-28th January 2025 - Tour Down Under
    • 22nd September 2024 - Toohey Trail Run
    • 24th August 2024 - Beerwah
    • 11th-26th January 2024 - Tour Down Under
  • Software
    • Posts
    • Articles
    • Have me speak
    • Ask for the unreasonable… and then get out of the way
    • 'Good enough' software
    • Agility in business: what we can learn from the software industry
    • How to engage with the software industry
    • People are a distributed system
    • Messaging patterns for scalable, distributed systems
    • Inversion of control from first principles
    • Your domain model is too big for RAM (and other fallacies)
    • Back to basics: simple, elegant, beautiful code
    • How may I help?
    • Let's talk strategy
    • Coffee with Andrew
    • Project rescue
    • On the web
    • uglybugger on GitHub
    • Andrew Harcourt on YouTube
    • uglybugger on Twitter
    • uglybugger on SlideShare
    • Andrew Harcourt on LinkedIn

Messaging patterns for scalable, distributed systems

In a large, high-throughput system there’s no one database to rule them all, distributed transactions are a no-no and failure is a first-class citizen.

Designing for scale means designing for large numbers of distributed systems and dealing with a few hundred clients poses different problems to scaling out to cover an entire country, continent or planet.

Target audience
Architects, team leads, software developers
Approximate duration
60 minutes including questions

You’re likely to want Damian Maclennan for this talk, too, if you can get him, as the first time we delivered this talk was together at DDD Brisbane 2013.

Talk video

Here’s a version of the talk that Damian and I delivered together at the Brisbane Azure User Group.

Play

Cyclist. Runner. Hiker. Singer. Violinist. Budding skydiver. Photographer. Former semi-pro photographer. Ballroom dancer. Motorcyclist. Occasional sailor. Good with edged weapons. Red Frog. Legatee.

Work

It should go without saying that any opinions, beliefs and other statements made here are my own, and do not represent in any way the views of any employer either past or present. Let's be grown-ups about this, shall we?

I'm Head of IT & Engineering at Etax, Australia's largest privately-held tax agent. Other interesting places I've been before Etax include Octopus Deploy, ThoughtWorks, Readify, Zap BI, Realex Payments and TRL.

I'm a fan of high-quality code, domain-driven design, event-driven architecture, continuous delivery and, most importantly, shipping software that works and that solves people's problems.

I have a number of small open-source creations, including Nimbus, ConfigInjector and NotDeadYet, and am an occasional contributor to several more.

I'm a regular speaker and presenter at conferences and training events. My mother wrote COBOL on punch cards and I've been coding in one form or another since I was five years old.

Sportsball