### 개요 - QoS(Quality of Service) 서비스의 질. - 0 ~ 2 레벨이 있는데 레벨이 높을수록 느리지만 안정성이 높다. ![MQTT QoS(Quality of Service) 양디](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2437B03456B5838D11) ### 레벨 0 - Fire and forget (보내고 삭제) - subscriber가 받았는지 여부에 상관 없이 메시지를 보내면 삭제한다. 1. publiser가 brocker한테 메시지를 보내고 메시지를 삭제한다. 2. brocker가 subscriber에게 메시지를 보낸다. ### 레벨 1 - At least once (최소 한 번) - subscriber가 메시지를 최소 한 번은 받지만, 3번 단계의 PUBACK가 유실될 경우 subscriber가 같은 메시지를 중복해서 받을 수도 있다. 1. publisher가 brocker에게 메시지를 보낸다. 2. brocker는 메시지를 저장하고 subscriber에게 보낸다. 3. brocker가 메시지를 삭제하고 publisher에게 PUBACK를 보낸다. 4. publisher는 메시지를 삭제한다. ### 레벨 2 - Exactly once (정확히 한 번) - 3 way handshake로 정확히 한 번만 받을 수 있다. 1. publisher가 brocker에게 메시지를 보낸다. 2. brocker는 메시지를 저장하고 subscriber에게 보낸다. 3. brocker가 publisher에게 RUBREC를 보낸다. 4. publisher가 brocker에게 PUBREL을 보낸다. 5. brocker가 메시지를 삭제하고 publisher에게 PUBCOMP를 보낸다. 6. publisher가 메시지를 삭제한다. ### 참고 - https://dalkomit.tistory.com/111 #mqtt