AMQP provides a platform-agnostic method for ensuring information is safely transported between applications, among organizations, within mobile infrastructures, and across the Cloud.
AMQP is used in areas as varied as financial front office trading, ocean observation, transportation, smart grid, computer-generated animation, and online gaming.
Many operating systems include AMQP implementations, and many application frameworks are AMQP-aware. There are Cloud-hosted offerings of AMQP, and it is embedded in virtualization infrastructure.
RabbitMQ
RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements. RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.
Apache Kafka
Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies. Kafka is generally used for two broad classes of applications: 1. Building real-time streaming data pipelines that reliably get data between systems or applications. 2. Building real-time streaming applications that transform or react to the streams of data.