โดยทั่วไปคุณจะต้องเลือกโปรโตคอลที่มีการรับประกันที่เข้มงวดว่าลูกค้าจะได้รับแพ็คเก็ต / ข้อความใด ๆ ตามลำดับหรือไม่และจะอนุญาตให้ทำซ้ำได้หรือไม่
สำหรับเครือข่ายของอุปกรณ์ IoT ที่ส่งข้อความขนาดเล็กถึงขนาดกลางถึงกันและกันการใช้MQTTกับคุณภาพการบริการ 2ดูเหมือนจะเหมาะกับกรณีการใช้งานของคุณ ตามที่ระบุไว้ในลิงค์ HiveMQ:
QoS ที่สูงที่สุดคือ 2 มันรับประกันว่าแต่ละข้อความจะได้รับเพียงครั้งเดียวโดยคู่ เป็นระดับที่ปลอดภัยที่สุดและช้าที่สุดในระดับบริการ การรับประกันนั้นมาจากสองกระแสที่นั่นและย้อนกลับระหว่างผู้ส่งและผู้รับ
โปรดทราบว่า QoS 2 รักษาลำดับข้อความและป้องกันการทำซ้ำข้อความตามที่ระบุไว้
มีค่าใช้จ่ายจำนวนมากในการใช้ MQTT QoS 2 เมื่อเทียบกับมาตรฐาน QoS 0 (ซึ่งคล้ายกับข้อความที่ไฟและลืมหากไม่ถึงนายหน้าแล้วข้อความจะไม่ได้รับอีกและมันหายไปตลอดกาล ) - QoS 2 ต้องมี 4 ข้อความ ( PUBLISH
จากผู้ส่งPUBREC
จากนายหน้าPUBREL
จากลูกค้าPUBCOMP
จากนายหน้า) ดังนั้นโดยทั่วไปจะใช้เวลาในการประมวลผลนานขึ้นใช้ทรัพยากรมากขึ้น (ดังนั้นการส่งสัญญาณวิทยุที่นานขึ้นและการใช้พลังงานมากขึ้นในจุดปลายทางที่ จำกัด )
ข้อความ MQTT QoS 2 จะถูกส่งจากผู้ส่งซ้ำ ๆ จนกว่าจะได้รับการตอบรับจากนายหน้าดังนั้นในที่สุดข้อความของคุณควรผ่านแม้ว่าการเชื่อมต่อของคุณจะไม่สมบูรณ์ก็ตาม
ไม่ว่าจะเป็นโพรโทคอลเผยแพร่สมัครตามหัวข้อที่เหมาะสมสำหรับกรณีการใช้งานของคุณขึ้นอยู่กับคุณที่จะตรวจสอบ; บทความ Wikipedia อาจช่วยให้คุณได้รับแนวคิด