본문으로 건너뛰기

스트리밍 파이프라인 설정

개요​

이 화면은 무엇인가요?

MQTT, Kafka, WebSocket 등 스트리밍 프로토콜 기반의 실시간 데이터 수집 파이프라인을 구성하는 화면입니다. 대량의 센서 데이터를 높은 처리량(throughput)으로 수집해야 하거나, 엣지 디바이스에서 클라우드로 데이터를 실시간 전송해야 할 때 사용합니다.

누가 사용하나요?​

  • IoT 엔지니어: 스트리밍 파이프라인 설계 및 성능 최적화

언제 사용하나요?​

  • 기본 수집기(polling)보다 높은 처리량이 필요할 때
  • 엣지 디바이스에서 중앙 서버로 데이터를 스트리밍할 때
  • Kafka 토픽이나 MQTT 브로커를 통한 데이터 파이프라인을 구성할 때

주요 기능​

  • 다양한 프로토콜: MQTT, AMQP, Kafka, WebSocket, gRPC, HTTP SSE 지원
  • 성능 제어: 배치 크기, 플러시 간격, 최대 처리량(msg/s), 압축 방식 설정
  • 백프레셔 정책: 처리 지연 시 DROP/BUFFER/THROTTLE/ERROR 중 선택
  • QoS 레벨: AT_MOST_ONCE / AT_LEAST_ONCE / EXACTLY_ONCE
  • 상태 모니터링: 총 처리 메시지 수, 오류 횟수, 마지막 메시지 수신 시각

업무 흐름에서의 위치​


입력 항목 가이드​

기본정보​

항목설명필수입력 예시
설정코드파이프라인 식별 코드✅STREAM-MQTT-LINE1
설정명파이프라인 이름✅1라인 MQTT 스트리밍
소스유형데이터 소스의 종류✅SENSOR / PLC / EDGE_DEVICE 등
프로토콜스트리밍 통신 프로토콜✅MQTT / KAFKA / WEBSOCKET 등
엔드포인트URL브로커/서버 접속 주소✅mqtt://192.168.1.50:1883
토픽패턴MQTT/Kafka 토픽 패턴factory/+/sensor/#

성능설정​

항목설명필수입력 예시
배치크기한 번에 처리할 메시지 수✅100
플러시간격(ms)강제 전송 간격✅1000
압축방식데이터 압축 알고리즘✅LZ4 (고속) / ZSTD (고압축)
직렬화포맷데이터 직렬화 형식✅JSON / PROTOBUF / AVRO
QoS레벨메시지 전달 보장 수준EXACTLY_ONCE (가장 안전)
최대처리량(msg/s)초당 최대 처리 메시지 수10000
백프레셔정책처리 지연 시 동작✅BUFFER(대기) / THROTTLE(감속)
TLS사용암호화 통신 사용 여부✅보안 환경에서는 활성화

상태 (자동 표시)​

항목설명
상태ACTIVE / INACTIVE / ERROR / DRAINING / CONFIGURING
마지막메시지수신최근 데이터 수신 시각
총처리메시지수누적 처리 메시지 수
오류횟수누적 오류 발생 횟수

자주 묻는 질문 (FAQ)​

MQTT와 Kafka 중 어떤 프로토콜을 선택해야 하나요?
기준MQTTKafka
용도경량 IoT 메시지 전송대규모 데이터 스트리밍
처리량중간 (수천 msg/s)높음 (수만~수십만 msg/s)
메시지 보존브로커에 단기 보관장기 보관 및 재처리 가능
적합 환경센서 → 엣지 → 클라우드엣지 → 중앙 집중식 처리

소규모 센서 네트워크는 MQTT, 대규모 공장 전체 데이터는 Kafka를 권장합니다.

백프레셔 정책은 어떤 것을 선택하면 좋을까요?
정책동작적합한 경우
BUFFER메모리에 대기데이터 손실 불가, 일시적 지연 허용
THROTTLE수집 속도 감속안정적 처리 우선
DROP오래된 데이터 삭제최신 데이터만 중요한 모니터링
ERROR파이프라인 오류 발생데이터 누락 시 즉시 알림 필요

생산 환경에서는 BUFFER 또는 THROTTLE을 권장합니다.


실무 시나리오​

엣지 디바이스 → MQTT 스트리밍 구성​

상황: 현장에 설치된 엣지 게이트웨이가 100개 센서 데이터를 MQTT로 전송하고, 이를 중앙 시스템에서 실시간 수집해야 합니다.

처리 순서:

  1. 설정코드 STREAM-EDGE-GW01로 파이프라인을 생성합니다
  2. 소스유형 EDGE_DEVICE, 프로토콜 MQTT를 선택합니다
  3. 엔드포인트URL에 MQTT 브로커 주소를 입력합니다
  4. 토픽패턴 factory1/edge-gw01/sensor/#으로 설정합니다
  5. 배치크기 200, 플러시간격 500ms, 압축 LZ4로 설정합니다
  6. QoS를 AT_LEAST_ONCE로 설정하여 메시지 손실을 방지합니다
  7. 백프레셔정책 BUFFER로 설정하고 파이프라인을 활성화합니다

참고: 데이터 구조

스트리밍 파이프라인 설정 (dt_streaming_configs)​

컬럼명한글명타입설명
config_code설정코드VARCHAR *필수 *고유-
config_name설정명VARCHAR *필수-
source_type소스유형ENUM *필수SENSOR/PLC/EDGE_DEVICE 등
protocol프로토콜ENUM *필수MQTT/AMQP/KAFKA 등
endpoint_url엔드포인트URLVARCHAR *필수-
batch_size배치크기INT *필수-
flush_interval_ms플러시간격(ms)INT *필수-
compression압축방식ENUM *필수NONE/GZIP/LZ4/SNAPPY/ZSTD
serialization_format직렬화포맷ENUM *필수JSON/PROTOBUF/AVRO 등
backpressure_policy백프레셔정책ENUM *필수DROP/BUFFER/THROTTLE/ERROR
status상태ENUM *필수ACTIVE/INACTIVE/ERROR 등