제퍼넷 로고

MQTT 5: 7가지 새로운 기능 및 마이그레이션 체크리스트

시간

MQTT 5: 7가지 새로운 기능 및 마이그레이션 체크리스트
일러스트 : © IoT For All

MQTTMessage Queuing Telemetry Transport의 약어인 는 제한된 장치와 낮은 대역폭, 높은 대기 시간 네트워크를 위해 설계된 경량 메시징 프로토콜입니다. 작은 코드 공간이 필요하거나 네트워크 대역폭이 제한된 원격 연결에 특히 유용합니다.

MQTT 5는 최신 버전의 프로토콜로, 이전 버전에 비해 많은 개선 사항을 제공합니다. 새로운 기능에는 이유 코드, 세션 만료 간격, 주제 별칭, 사용자 속성, 구독 옵션, 요청/응답 기능 및 공유 구독이 포함됩니다.

이러한 새로운 기능을 살펴보고, 널리 사용되는 브로커와 클라이언트 SDK가 MQTT 5를 지원하는 방법과 MQTT 3.1.1에서 MQTT 5로 마이그레이션할 때 고려해야 할 몇 가지 주요 고려 사항을 설명합니다.

MQTT 5의 간략한 역사와 진화

MQTT는 1990년대 후반 IBM의 Andy Stanford-Clark 박사와 Arcom(현 Eurotech)의 Arlen Nipper가 위성 네트워크를 통해 송유관을 모니터링하기 위해 처음 개발했습니다. 초기 버전인 MQTT v3.1은 가볍고 구현하기 쉽도록 설계되어 많은 IoT 장치에 적합합니다.

OASIS 표준인 MQTT 3.1.1은 2014년에 출시되었으며, 여기에는 명확성과 상호 운용성을 개선하기 위해 프로토콜에 대한 사소한 변경 사항이 포함되었습니다. 제한된 리소스로 네트워크를 통해 메시지를 전달하는 단순성과 효율성으로 인해 IoT 애플리케이션이 널리 채택되었습니다.

그러나 IoT 산업이 발전함에 따라 애플리케이션의 요구 사항도 늘어났습니다. 이로 인해 5년에 출시된 MQTT 2019가 개발되었으며, 이는 이러한 변화하는 요구 사항을 해결하기 위한 새로운 기능을 도입했습니다. 향상된 기능을 통해 MQTT 5는 최신 IoT 애플리케이션의 복잡한 요구 사항을 더 효과적으로 처리할 수 있습니다.

MQTT v7의 5가지 새로운 기능

이유 코드: 연결 끊김 또는 실패 이해

이전 버전과 달리 MQTT 5는 이유 코드 모든 승인 패킷에 대해 연결 끊김이나 오류가 발생한 이유를 더 잘 이해할 수 있게 해줍니다. 이러한 개선 사항은 문제 해결에 도움이 되며 보다 정확한 오류 처리가 가능해집니다.

예를 들어, 클라이언트가 서버 연결에 실패하면 서버는 연결이 실패한 이유를 설명하는 이유 코드를 반환합니다. 이는 잘못된 로그인 자격 증명부터 서버를 사용할 수 없는 것까지 다양한 문제로 인해 발생할 수 있습니다.

세션 만료 간격: 세션 수명 관리

이 기능을 사용하면 클라이언트가 방법을 지정할 수 있습니다. 서버가 세션을 유지해야 하는 경우 클라이언트 연결이 끊어진 후. 이전 MQTT 버전에서는 세션이 연결 해제 즉시 종료되거나 무기한 계속되었습니다.

MQTT 5를 사용하면 연결이 끊어진 후에도 세션이 유지되어야 하는 특정 기간을 정의할 수 있습니다. 이는 세션 수명 관리에 더 큰 유연성을 제공하고 서버의 리소스를 절약합니다.

MQTT 5 도입 주제 별칭 메시지 헤더의 오버헤드를 줄입니다. 이전 버전에서는 모든 메시지에 주제 이름을 포함해야 했기 때문에 패킷 크기가 더 커졌습니다.

주제 별칭을 사용하면 짧은 숫자 별칭을 주제에 할당할 수 있습니다. 후속 메시지의 전체 주제 이름 대신 이 별칭을 사용할 수 있으므로 MQTT 헤더의 크기가 크게 줄어들고 네트워크 대역폭이 보존됩니다.

이 기능을 사용하면 사용자는 MQTT 패킷의 헤더에 사용자 정의 메타데이터를 포함할 수 있습니다. 이는 MQTT 메시지와 함께 메시지의 타임스탬프, 장치 위치 또는 기타 애플리케이션별 데이터와 같은 추가 정보를 보내야 하는 애플리케이션에 특히 유용할 수 있습니다. 사용자 속성은 MQTT 메시징에 대한 더 큰 유연성과 제어를 제공합니다.

구독 옵션: 세분화된 구독 제어

MQTT 5를 사용하면 클라이언트가 다음을 지정할 수 있습니다. 구독한 각 주제에 대한 메시지 수신 방법. 예를 들어, 이제 클라이언트는 특정 구독에 대해 보관된 메시지를 받을지, 구독과 동일한 QoS(서비스 품질) 수준을 갖고 있더라도 메시지를 받을지 여부를 지정할 수 있습니다.

요청/응답: 클라이언트가 특정 주제에 응답하도록 허용

XNUMXD덴탈의 요청/응답 기능 클라이언트는 서버가 직접 응답을 보내는 데 사용할 수 있는 주제를 지정할 수 있습니다.

이전 버전의 MQTT에서는 클라이언트가 메시지에 대한 응답을 보내려면 주제에 대한 응답을 게시해야 했고, 응답을 수신하려면 원래 발신자가 해당 주제를 구독해야 했습니다. MQTT 5의 요청/응답 기능을 사용하면 클라이언트와 서버 간의 통신이 훨씬 더 효율적이고 간단해집니다.

공유 구독: 구독자를 위한 로드 밸런싱 기능

이 기능을 사용하면 여러 클라이언트가 구독을 공유할 수 있습니다. 메시지가 공유 주제에 게시되면 서버는 공유 구독의 클라이언트 중 하나에 메시지를 배포하여 메시지 부하를 효과적으로 분산합니다.

이 기능은 실행 중인 서비스의 여러 인스턴스가 있고 인스턴스 간에 워크로드를 균등하게 분산하려는 시나리오에서 특히 유용합니다.

MQTT 5.0의 브로커 및 클라이언트 SDK에 대한 현재 지원

MQTT 5.0 프로토콜은 IoT 커뮤니티에서 호평을 받았으며 수많은 MQTT 브로커 클라이언트 SDK(소프트웨어 개발 키트)에 이에 대한 지원이 추가되었습니다. 주요 MQTT 브로커는 이미 플랫폼에 MQTT 5.0 기능을 구현하여 사용자가 새로운 프로토콜의 이점을 활용할 수 있도록 했습니다.

클라이언트 SDK 전면에서는 광범위한 사용자 기반을 보유한 Paho와 같은 라이브러리에 MQTT 5.0에 대한 지원이 추가되었습니다. 이는 개발자가 이제 IoT 애플리케이션에서 MQTT 5.0 기능을 활용할 수 있음을 의미합니다. MQTT 5.0을 지원하는 클라이언트 SDK의 다른 예로는 MQTT.js 및 MQTTnet이 있습니다.

MQTT 3.1.1에서 MQTT 5로 마이그레이션하기 위한 체크리스트

현재 MQTT 3.1.1을 사용하고 있다면 MQTT 5로 업그레이드해야 할 때입니다. 전환할 때 고려해야 할 주요 사항은 다음과 같습니다.

MQTT 브로커 업데이트

현재 인프라를 평가하고 마이그레이션을 진행하기로 결정한 후 다음 단계는 MQTT 브로커를 업데이트하는 것입니다. 여기에는 MQTT 5.0을 지원하는 MQTT 브로커의 최신 버전을 설치하는 작업이 포함됩니다.

브로커 업그레이드는 모든 서비스에 영향을 미치므로 주의해서 수행해야 합니다. MQTT 클라이언트. 새 브로커를 프로덕션 환경에 출시하기 전에 먼저 비프로덕션 환경에서 테스트하는 것이 좋습니다. 또한 MQTT 5.0에 도입된 새로운 기능을 지원하기 위해 필요에 따라 브로커 구성이 업데이트되었는지 확인하십시오.

클라이언트 라이브러리 업데이트

MQTT 브로커를 업데이트한 후 다음 단계는 MQTT 클라이언트 라이브러리를 업데이트하는 것입니다. 브로커 업데이트와 마찬가지로 이 업데이트도 비프로덕션 환경에서 먼저 수행해야 합니다. 또한 새로운 MQTT 5.0 기능을 처리할 수 있도록 애플리케이션 코드가 업데이트되었는지 확인하세요. 여기에는 일부 코드 리팩터링이 포함될 수 있다는 점을 고려하세요.

주소 보안

MQTT 5.0은 여러 가지 개선 사항을 제공하는 동시에 새로운 보안 고려 사항도 도입합니다. 예를 들어, 새로운 사용자 속성 기능을 사용하면 이제 클라이언트가 사용자 정의 데이터를 브로커에 보낼 수 있습니다.

이는 강력한 기능이지만 올바르게 사용하지 않으면 악용될 수 있습니다. 따라서 보안 관점에서 모든 새로운 기능을 평가하는 것이 중요합니다.

보안 문제를 해결하기 위해 취할 수 있는 조치에는 더 강력한 보안을 위한 새로운 강화된 인증 기능 사용, 클라이언트가 필요한 것만 보낼 수 있는 사용자 속성 제한, 의심스러운 활동에 대한 지속적인 모니터링 등이 있습니다.

마이그레이션 후 모니터링

마지막으로 MQTT 5.0으로 마이그레이션하고 해당 기능을 구현한 후에는 시스템을 지속적으로 모니터링하는 것이 중요합니다. 모니터링은 메시지 전달이나 클라이언트 연결과 같은 기술적인 측면에만 국한되어서는 안 됩니다.

또한 애플리케이션에서 새로운 MQTT 5.0 기능의 사용을 모니터링해야 합니다. 이를 통해 이러한 기능이 애플리케이션을 어떻게 향상시키고 추가 개선이 가능한 부분에 대한 통찰력을 얻을 수 있습니다.

spot_img

VC 카페

라이프사이VC

최신 인텔리전스

VC 카페

라이프사이VC

spot_img