What is Fan-out (Software)?
Fan-out is a messaging pattern where messages are broadcast in a one-to-many arrangement. A basic example of this pattern can be seen in the functionality of a Publish/Subscribe messaging system, as Pub/Sub implies the ability to route messages from a single sender to multiple receivers.
A more complex fan-out messaging pattern based on Pub/Sub might be used by a publisher to push messages to all or some of its channels so that various subscribers in separate channels can receive the same message at the same time. This can be useful when a method of across-the-board notification for a related set of subscribers is needed.
Another configuration that implements fan-out can be found in the Push/Pull messaging pattern where realtime events from a single data source need to be sent out in parallel across multiple endpoints.
Fan-out message routing can be applied to use cases such as replicating monitoring logs from one server to multiple servers, sending notifications to multiple interested parties, or otherwise synchronizing the moving parts of a distributed (or modular) application.