AMQP - Advanced Message Queuing Protocol ========================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is AMQP?** AMQP stands for Advanced Message Queuing Protocol. It is a messaging protocol that allows different applications or systems to send and receive messages reliably, even if they are built in different languages or run on different platforms. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is AMQP useful?** * Decouples systems – Senders and receivers don’t need to be online at the same time. * Ensures reliable delivery – Messages won’t be lost, even if a system crashes. * Supports queuing, routing, and security – Making it ideal for enterprise messaging. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** * Sender sends a message – An application sends a message to a message broker (like RabbitMQ). * Broker queues the message – The broker stores the message in a queue. * Receiver gets the message – Another application retrieves the message from the queue. * Acknowledgment – The receiver confirms it got the message, ensuring reliability. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is AMQP used?** * Banking and finance – For secure, reliable transaction processing. * E-commerce – To handle orders, inventory updates, and notifications. * Microservices – For communication between loosely coupled services. * IoT systems – To manage data from many devices efficiently. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** * It defines message formats, queues, exchanges, and routing rules. * It provides messaging services directly to applications. * It works over transport protocols like TCP, but its logic is at Layer 7 (Application Layer). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`AMQP Version&RFC Details ` * :ref:`AMQP Basic Setup on Ubuntu using IPv4 ` * :ref:`AMQP Basic Setup on Ubuntu using IPv6 ` * :ref:`AMQP Protocol Packet Details ` * :ref:`AMQP Usecases ` * :ref:`AMQP Basic Features ` * :ref:`AMQP Feature : Reliable Messaging ` * :ref:`AMQP Feature : Interoperability ` * :ref:`AMQP Feature : Message Queuing ` * :ref:`AMQP Feature : Routing Flexibility ` * :ref:`AMQP Feature : Transactional Messaging ` * :ref:`AMQP Feature : Flow Control ` * :ref:`AMQP Feature : Security ` * :ref:`AMQP Feature : Multi-Channel Communication ` * :ref:`AMQP Feature : Publisher Confirms ` * :ref:`AMQP Feature : Extensibility ` * :ref:`Reference links ` .. _AMQP_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _AMQP_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _AMQP_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _AMQP_step5: .. tab-set:: .. tab-item:: AMQP Version&RFC Details .. csv-table:: :file: ./AMQP/AMQP_rfcdetails.csv :widths: 10,10,10,30 :header-rows: 1 .. _AMQP_step19: .. tab-set:: .. tab-item:: AMQP Basic Setup on Ubuntu using IPv4 * setup .. _AMQP_step20: .. tab-set:: .. tab-item:: AMQP Basic Setup on Ubuntu using IPv6 * setup .. _AMQP_step6: .. tab-set:: .. tab-item:: AMQP Protocol Packet Details **Open Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails1.csv :widths: 10,20,30,10 :header-rows: 1 **Begin Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails2.csv :widths: 10,20,30,10 :header-rows: 1 **Attach Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails3.csv :widths: 10,20,30,10 :header-rows: 1 **Transfer Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails4.csv :widths: 10,20,30,10 :header-rows: 1 **Disposition Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails5.csv :widths: 10,20,30,10 :header-rows: 1 **Detach Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails6.csv :widths: 10,20,30,10 :header-rows: 1 **End Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails7.csv :widths: 10,20,30,10 :header-rows: 1 **close Packet** .. csv-table:: :file: ./AMQP/AMQP_packetdetails8.csv :widths: 10,20,30,10 :header-rows: 1 .. _AMQP_step7: .. tab-set:: .. tab-item:: AMQP Usecases .. csv-table:: :file: ./AMQP/AMQP_usecases.csv :widths: 10,20,30 :header-rows: 1 .. _AMQP_step8: .. tab-set:: .. tab-item:: AMQP Basic Features .. csv-table:: :file: ./AMQP/AMQP_basicfeatures.csv :widths: 10,10,30 :header-rows: 1 .. _AMQP_step9: .. tab-set:: .. tab-item:: AMQP Feature : Reliable Messaging **Reliable Messaging - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature1_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step10: .. tab-set:: .. tab-item:: AMQP Feature : Interoperability **Interoperability - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature2_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step11: .. tab-set:: .. tab-item:: AMQP Feature : Message Queuing **Message Queuing - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature3_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step12: .. tab-set:: .. tab-item:: AMQP Feature : Routing Flexibility **Routing Flexibility - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature4_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step13: .. tab-set:: .. tab-item:: AMQP Feature : Transactional **Transactional - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature5_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step14: .. tab-set:: .. tab-item:: AMQP Feature : Flow Control **Flow Control - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature6_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step15: .. tab-set:: .. tab-item:: AMQP Feature : Security **Security - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature7_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step16: .. tab-set:: .. tab-item:: AMQP Feature : Multi-Channel Communication **Multi-Channel Communication - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature8_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step17: .. tab-set:: .. tab-item:: AMQP Feature : Publisher Confirms **Publisher Confirms - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature9_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step21: .. tab-set:: .. tab-item:: AMQP Feature : Extensibility **Extensibility - Testcases** .. csv-table:: :file: ./AMQP/AMQP_feature10_test_cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _AMQP_step18: .. tab-set:: .. tab-item:: Reference links * Reference links