Pub/Sub (Publish/Subscribe)
intermediateDefinition
A messaging pattern that works like a magazine subscription. One part of the app publishes announcements to a topic without knowing who's listening. Anyone who's subscribed to that topic gets a copy automatically. And you can add new subscribers anytime without telling the publisher.
In the wild
When a customer pays for an order, the checkout system publishes a 'payment received' announcement. The shipping team, the receipt service, and the rewards program all happen to be subscribed, so each one gets the news and reacts. Adding a brand new fraud-detection subscriber later doesn't require any changes to checkout.
More from Architecture
Caching
Saving the result of slow work somewhere fast so the next person who needs it gets it instantly. The first time something is calculated or fetched it's slow; every time after that, the saved copy is handed out until it gets too old to trust.
CAP Theorem
A rule about systems that store data on many computers at once. It says you can have at most two of three things: everyone always sees the same data, the system always responds, and the system keeps working even when the computers can't talk to each other. You always have to give one up.
CDN (Content Delivery Network)
A worldwide network of computers that keep copies of a website's images, videos, and other files in many cities at once. When you visit the site, you're served from the nearest copy. So the page loads faster and the original server isn't overwhelmed.
Client-Server Architecture
The basic shape of most apps and websites. The client is the program in front of you, your browser, your phone app, and the server is a powerful computer somewhere else that does the heavy lifting and stores the data. The client asks for things, the server answers.
Event-Driven Architecture
A way of building software where different parts don't call each other directly. Instead, one part announces 'something happened' and any other part that cares can react. This keeps the pieces loosely connected, so adding new reactions is easy.
Eventual Consistency
When data is stored in many places at once, an update doesn't reach all of them at the exact same moment. For a brief time, different copies might disagree. But if you wait a beat, they all catch up and end up matching.