One citizen upload event must notify virus scan, thumbnail, and archive services without the uploader calling each consumer directly. Which pattern best fits?
Select an answer to reveal the explanation.
Short Explanation
Fan-out is the town crier: shout the upload once and every interested service hears it. The uploader should not dial virus scan, thumbnails, and archive one by one. One event, many listeners—cleaner and safer.
Full Explanation
Event-driven publish-and-subscribe fan-out emits a single upload event that any number of independent consumers can receive, so the producer does not need a hard-coded list of downstream systems. When one citizen upload must notify virus scan, thumbnail generation, and archive services, publishing once and letting each consumer subscribe is the scalable municipal pattern. Hard-coding the uploader to open SSH sessions into each downstream VM creates brittle operational coupling and credential sprawl. Storing the file only in the uploader container filesystem and waiting for nightly cron discovery risks data loss on restart and delays security scanning. Requiring a human operator to email each team for every upload cannot meet volume, auditability, or near-real-time expectations. Exam caveat: fan-out decouples producers from an evolving consumer set—adding a new malware engine or metadata indexer should not require changing the uploader’s core code path. Operational check: publish durable events to a managed topic or queue, grant each consumer least-privilege subscribe rights, implement idempotent handlers for at-least-once delivery, monitor consumer lag, and alert when virus-scan delay threatens the citizen upload SLA.