This document discusses RabbitMQ and Apache Kafka. It provides an overview of AMQP and how it defines features like message orientation, queuing, routing, security and reliability. It also describes RabbitMQ concepts like exchanges, queues, routing and plugins. For Apache Kafka, it explains how it is distributed, replicated and uses commit logs and topics to store messages. It then discusses reliability, performance, clustering and high availability aspects of RabbitMQ and Kafka.