HiveMQ Kafka 솔루션

IoT 데이터와 MQTT 메시지를 Kafka로 스트리밍

Apache Kafka는 기업 시스템과 애플리케이션 간에 데이터를 쉽게 공유할 수 있는 오픈 소스 스트리밍 플랫폼입니다. HiveMQ Enterprise Extension for Kafka는 Kafka 클러스터를 사용하여 IoT 디바이스 데이터를 송수신하는 것을 가능하게 합니다.

새로운 기능: HiveMQ Cloud는 이제 Confluent Cloud와 통합되어 IoT 데이터를 Confluent Cloud로 쉽게 전송할 수 있습니다.

HiveMQ는 MQTT 메시지를 Kafka 메시징 스트림에 원활하게 통합하여 Kafka for IoT의 문제를 해결합니다. 대신 Kafka 메시지는 HiveMQ 및 MQTT 클라이언트로 배포될 수 있습니다. HiveMQ 에이전트는 Kafka 프로토콜을 포함하는 네이티브 구현으로 확장되었습니다. 이를 통해 HiveMQ는 MQTT 메시지를 Kafka 프로토콜로 전환할 수 있으며 그 반대의 경우에도 실현 가능합니다.

왜 IoT에 HiveMQ와 MQTT가 필요한가 ?

Kafka는 기업 시스템과 데이터 센터 또는 클라우드에 애플리케이션 간 데이터 공유에 적합합니다.
하지만, IoT에 대해 Kafka가 적합하지 않은 이유는 여러 가지가 있습니다.

  • Kafka 에이전트는 로드 이퀄라이저를 통해 연결된 IoT 장치의 경우 클라이언트에서 직접 주소를 지정해야 합니다.
  • Kafka 클라이언트는 안정적인 IP 연결이 필요하며 신뢰할 수 없는 셀룰러 네트워크를 통해 연결된 IoT 장치가 항상 그런 것은 아닙니다.
  • Kafka는 많은 테마를 지원하지 않으므로 큰 테마 공간을 가진 대규모 IoT 배포는 일반적으로 Kafka에 적합하지 않습니다.
  • Kafka 클라이언트는 복잡하고 리소스 집약적이기 때문에 작은 제한된 IoT 장치는 일반적으로 Kafka 클라이언트를 실행할 수 없습니다.

기본 기능

Kafka 프로토콜을 구현하면 MQTT 메시지를 Kafka 테마에 쓸 수 있으며 Kafka 메시지를 여러 MQTT 클라이언트에 배포할 수 있습니다.

모든 MQTT3 및 MQTT5 기능을 지원합니다. (QoS 등급 포함)

각 Kafka 테마에 대해 여러 MQTT 테마 필터를 선택합니다.

(MQTT 주제 필터는 MQTT 와일드카드를 완전히 지원합니다).

메시지를 에이전트에서 버퍼링하여 Kafka 클러스터를 사용할 수 없을 때 높은 가용성 및 내결함성을 보장합니다.

HiveMQ 컨트롤 센터에서 Kafka에 기록된 MQTT 메시지를 모니터링합니다.

여러 MQTT 클라이언트에 Kafka 메시지를 배포합니다.

하나에서 여러 개의 Kafka 테마를 여러 MQTT 테마에 매핑합니다.

MQTT에서 Kafka 테마 매핑 및 사용자 정의 메시지 변환을 지정하는 데 사용되는 사용자 정의 API를 프로그래밍합니다.

MQTT PUBLISH 패킷은 런타임에 동적으로 생성되며 일부 Kafka 메시지로 변수를 대체합니다.

스키마 레지스트리에 따라 카프카에서 읽은 메시지를 확인합니다.

MQTT PUBLISH 메타데이터의 가능성을 미리 정의된 기본 구성을 사용하거나 구성으로 설정합니다.