A message broker is an application that stores messages in some form of memory, typically a Queue, from data senders and allows reading of those messages from data readers. Message Brokers commonly follow a PubSub architecture and depending on their requirements and some common examples are RabbitMQ, Kafka and HiveMQ.