일반적으로 클라이언트가 패킷 / 메시지를 수신할지 여부와 순서, 복제가 허용되는지에 대한 강력한 보증이있는 프로토콜을 선택해야합니다.
중소 규모의 메시지를 서로 에게 보내는 IoT 장치 네트워크의 경우 Quality of Service 2 와 함께 MQTT 를 사용하면 사용 사례에 잘 맞는 것 같습니다. HiveMQ 링크에 명시된 바와 같이 :
최고 QoS는 2이며 각 메시지가 상대방에 의해 한 번만 수신되도록합니다. 가장 안전하고 가장 느린 서비스 품질 수준입니다. 송신자와 수신자 사이에 두 가지 흐름이 보장됩니다.
QoS 2 는 메시지 순서 를 유지 하며 언급 된 바와 같이 메시지 중복을 방지합니다.
표준 QoS 0과 비교하여 MQTT QoS 2를 사용 하는 데 상당한 오버 헤드 가 있습니다 (이 메시지는 화재 및 잊어 버린 메시지와 유사합니다. 브로커에 도달하지 않으면 메시지가 다시 전송되지 않고 영원히 사라짐) ) — QoS 2에는 4 개의 메시지 ( PUBLISH
송신자, PUBREC
브로커, PUBREL
클라이언트, PUBCOMP
브로커)가 필요하므로 일반적으로 처리하는 데 시간이 오래 걸리고 더 많은 리소스를 사용해야 합니다 (따라서 제한적인 엔드 포인트에서 더 긴 무선 전송 및 더 많은 전력 사용).
MQTT의 QoS 2 메시지는 그래서는 브로커에서 승인을 수신 할 때까지 반복 발신자로부터 재전송 될 것입니다 결국 귀하의 메시지가 연결이 불완전한 경우에도 통과해야한다.
주제 기반 발행-구독 프로토콜이 사용 사례에 적합한 지 여부는 사용자가 결정해야합니다. Wikipedia 기사는 아이디어를 얻는 데 도움이 될 수 있습니다.