Publish/subscribe is a messaging pattern where senders (publishers) of messages do not program the messages to be sent directly to specific receivers (subscribers). Rather, published messages are characterized into channels, without knowledge of what, if any, subscribers there may be.
- Stackoverflow.com Wiki
Today we’ll talk about one of the most common communication patterns, which is publish/subscribe, and how to perform it in a distributed environments using Akka.NET.
Kafka allows you to decouple applications (or parts of just one application) by allowing them to communicate asynchronously through messages. Applications (producers) can publish messages into topics that can be consumed by other applications (consumers).
Despite of the differences between these patterns, some might say that Publisher-Subscriber pattern is a variation of Observer pattern because of the conceptual similarity between them. And it won’t be wrong at all. Don’t need to take the differences religiously. They are similar, aren’t they?