AMQP คืออะไร? บทนํา: AMQP ย่อมาจาก Advanced Message Queuing Protocol ทํางานบนเลเยอร์ TCP และใช้สถาปัตยกรรมเผยแพร่/สมัครสมาชิก คล้ายกับ MQTT AMQP อํานวยความสะดวกในการถ่ายโอนข้อความแบบอะซิงโครนัส ทําให้ระบบปฏิบัติการ ฮาร์ดแวร์ และภาษาโปรแกรมไม่เชื่อเรื่องไม่เชื่อเรื่อง ใช้การจัดเฟรมข้อมูลที่ปรับให้เหมาะสมด้วยวิธีการบัฟเฟอร์ ซึ่งช่วยเพิ่มประสิทธิภาพของเซิร์ฟเวอร์ได้อย่างมาก การรักษาความปลอดภัยมีให้ผ่าน TLS และ SASL
รูปด้านบนแสดงสถาปัตยกรรม AMQP ดังที่แสดง โบรกเกอร์ AMQP รวมถึงการแลกเปลี่ยนและคิว ผู้เผยแพร่โฆษณาส่งข้อความพร้อมคีย์การกําหนดเส้นทางที่เฉพาะเจาะจงไปยังการแลกเปลี่ยน จากนั้นการแลกเปลี่ยนจะใช้คีย์เหล่านี้เพื่อกําหนดเส้นทางข้อความไปยังคิวที่เหมาะสม ข้อความจะยังคงเก็บไว้ในคิวจนกว่าจะมีการส่งหรืออ่านโดยสมาชิก การผูกจะกําหนดกฎสําหรับการเชื่อมต่อการแลกเปลี่ยนกับคิว การแลกเปลี่ยนมีสามประเภท: การแลกเปลี่ยนโดยตรง การแลกเปลี่ยน Fanout และการแลกเปลี่ยนหัวข้อ
ประโยชน์หรือข้อดีของ AMQP ประโยชน์หลักของการใช้ AMQP มีดังนี้
รับประกันคุณภาพการบริการ (QoS): AMQP ใช้ QoS เพื่อให้มั่นใจว่าการส่งมอบข้อมูลสําคัญมีความน่าเชื่อถือ สถาปัตยกรรมเผยแพร่/สมัครสมาชิกที่จัดตั้งขึ้น: AMQP ใช้ประโยชน์จากรูปแบบการเผยแพร่/สมัครสมาชิกที่ได้รับการพิสูจน์แล้ว คล้ายกับ MQTT เพื่อการแบ่งปันข้อมูลที่มีประสิทธิภาพ การทํางานร่วมกัน: รับประกันการทํางานร่วมกันเนื่องจากเป็นโปรโตคอลระดับสายที่ส่งข้อมูลเป็นสตรีมของไบต์ การสื่อสารแบบ Peer-to-Peer ที่ง่ายขึ้น: AMQP อํานวยความสะดวกในการสื่อสารแบบ peer-to-peer อย่างตรงไปตรงมา วิวัฒนาการ: โปรโตคอลได้รับการออกแบบมาเพื่อปรับและทํางานกับมาตรฐานที่พัฒนาขึ้น การเชื่อมต่อที่ปลอดภัย: AMQP เสนอการเชื่อมต่อที่ปลอดภัยกับผู้ใช้ผ่านโปรโตคอลเช่น SSL คล้ายกับ CoAP, MQTT, HTTP และ XMPP ข้อเสียหรือข้อเสียของ AMQP แม้จะมีจุดแข็ง แต่ AMQP ก็มีข้อเสียบางประการ:
ขาดความเข้ากันได้แบบย้อนหลัง: AMQP เข้ากันไม่ได้แบบย้อนหลังกับเวอร์ชันเก่า ซึ่งอาจสร้างปัญหาเมื่อรวมเข้ากับระบบเดิม ความซับซ้อน: มีความซับซ้อนมากกว่าโปรโตคอลแบบสายที่เรียบง่ายกว่า เช่น HTTP 1.0 หรือ HTTP 1.1 ความต้องการแบนด์วิดท์ที่สูงขึ้น: โดยทั่วไป AMQP ต้องการแบนด์วิดท์มากกว่าเมื่อเทียบกับโปรโตคอลที่มีน้ําหนักเบา เช่น MQTT, CoAP หรือ XMPP การค้นพบทรัพยากรที่จํากัด: ซึ่งแตกต่างจาก CoAP, HTTP และ XMPP ตรงที่ AMQP ขาดการสนับสนุนในตัวสําหรับการค้นพบทรัพยากร