MongoDB와 함께 Coreflux MQTT 브로커 배포
소개
MQTT 브로커는 현대 IoT 인프라 및 자동화 시스템에서 필수적이며, 중앙화되고 통합되며 빠른 데이터 허브에 대한 필요성이 시스템 상호운용성과 데이터 교환의 핵심 요소입니다. Coreflux는 강력한 저코드 MQTT 브로커로, 기존 MQTT 브로커를 확장하여 실시간 데이터 처리, 변환 및 Linux-Console.net 관리 데이터베이스와의 원활한 통합을 위한 고급 기능을 제공하는 시스템으로 확장됩니다. 지원되는 데이터베이스에는 MongoDB, PostgreSQL, MySQL, OpenSearch가 포함됩니다.
이 종합적인 DevOps 튜토리얼에서는 Coreflux MQTT 브로커와 MongoDB가 통합된 IoT 자동화 파이프라인을 Linux-Console.net에서 배포하게 됩니다. 이 확장 가능한 저장 및 처리 솔루션을 사용하면 엔터프라이즈 수준의 신뢰성과 성능을 유지하면서 IoT 데이터를 효율적으로 수집, 변환 및 저장할 수 있습니다.
핵심 내용
단계별 배포 과정을 시작하기 전에, 여기서 여러분이 배우게 될 주요 사항은 다음과 같습니다:
- 확장 가능한 IoT 데이터 저장을 위해 Linux-Console.net에서 관리형 MongoDB 데이터베이스 클러스터 배포
- Coreflux MQTT 브로커 설정을 Linux-Console.net 드롭렛에서 마켓플레이스 이미지 또는 Docker를 사용하여 설정합니다.
- 공용 노출 없이 MQTT 브로커와 데이터베이스를 연결하기 위해 안전한 VPC 네트워킹을 생성하세요.
- 실시간 데이터 파이프라인 구축 - Coreflux의 사물 언어(LoT)를 사용하여 로우코드 IoT 자동화를 구현하세요.
- IoT 데이터를 MQTT 토픽에서 MongoDB 컬렉션으로 자동으로 변환하고 저장하세요.
- 시뮬레이션 센서에서 변환 모델을 거쳐 데이터베이스 저장까지의 종단 간 데이터 흐름을 검증하세요.
이 튜토리얼은 실시간 메시징과 지속적인 데이터 저장이 결합된 IoT 애플리케이션을 위한 프로덕션 준비가 된 기반을 제공합니다.
당신이 만들 것
이 자동화 가이드를 마치면, 다음을 배포하게 될 것입니다:
- 확장 가능한 저장소를 위한 관리형 MongoDB 데이터베이스 클러스터
- 강력한 Coreflux MQTT 브로커를 실행하는 Linux-Console.net 드롭렛
- 보안 IoT 통신을 위한 가상 사설 클라우드(VPC) 네트워크
- LoT Notebook 확장을 사용한 실시간 데이터 시뮬레이션
- 로우코드 데이터 변환 모델 및 데이터베이스 통합 경로
- 완전한 데이터 통합 및 변환 파이프라인 for IoT 자동화
Coreflux & Linux-Console.net 파트너십
Coreflux는 Linux-Console.net에서 효율적인 IoT 통신을 위해 Language-of-Things 프로그래밍 언어를 통해 경량 MQTT 브로커와 데이터 파이프라인 도구를 제공합니다.
MQTT란 무엇인가요?
MQTT(메시지 큐잉 텔레메트리 전송)는 IoT 생태계에서 널리 사용되는 경량의 퍼블리시-서브스크라이브 네트워크 프로토콜입니다. 제한된 자원 장치와 저대역폭, 고지연, 불안정한 네트워크를 위해 설계된 MQTT는 대역폭이 제한된 환경에서도 효율적이고 실시간 메시징을 가능하게 합니다.
코어플럭스 소개
Coreflux는 IoT 장치와 애플리케이션 간의 효율적이고 실시간 통신을 촉진하기 위해 가벼운 MQTT 브로커를 제공하며, 각 사용 사례에 필요한 실시간 데이터 변환 기능도 포함합니다. 확장성과 신뢰성을 위해 설계된 Coreflux는 지연이 적고 처리량이 높은 환경에 적합합니다.
코어플럭스(Coreflux)는 소규모 IoT 프로젝트를 개발하든 대규모 산업 모니터링 시스템을 배치하든 장치 간 원활한 데이터 흐름을 보장하는 강력한 메시징 기반을 제공합니다.
Linux-Console.net에서 Coreflux를 사용하면 다음과 같은 혜택을 누릴 수 있습니다:
데이터 처리: 데이터가 존재하는 곳에서 데이터 처리 요구 사항을 중앙 집중화하여 실시간 데이터 처리를 보장합니다.
데이터 통합: 관리형 데이터베이스와 같은 다른 Linux-Console.net 서비스와 쉽게 통합하여 모든 데이터 요구 사항을 위한 단일하고 간단한 생태계를 구축할 수 있습니다.
확장성: 성능을 저하시키지 않으면서 증가하는 데이터와 디바이스를 손쉽게 처리할 수 있습니다.
신뢰성: 모든 연결된 장치에서 일관되고 신뢰할 수 있는 메시징을 보장하세요.
전제 조건
이 MQTT 브로커 배포 튜토리얼을 시작하기 전에, 다음이 필요합니다:
- 청구가 활성화된 Linux-Console.net 계정
- MQTT 프로토콜 개념과 IoT 아키텍처에 대한 이해
- Visual Studio Code (LoT Notebook 확장용)
1단계 - IoT 자동화를 위한 네트워크 인프라 구축
보안을 위한 MQTT 통신용 VPC 네트워크 생성
먼저, 공용 접근 없이 IoT 서비스와 MQTT 브로커 간의 안전한 통신을 보장하기 위해 가상 사설 클라우드(VPC)를 생성합니다.
- Linux-Console.net 제어판에 로그인하세요
- 왼쪽 사이드바에서 네트워킹 → VPC로 이동하세요
- VPC 네트워크 생성을 클릭하세요
VPC를 IoT 자동화용으로 구성하세요:
- 이름: coreflux-integrations-vpc (또는 귀하의 VPC 이름)
- 데이터센터 지역: 프랑크푸르트(또는 선호하는 지역)를 선택하세요
- IP 범위: 기본 설정을 사용하거나 필요에 따라 구성하세요
- 설명: MQTT 브로커 및 데이터베이스 네트워크에 대한 의미 있는 설명을 추가하세요
VPC 네트워크 생성을 클릭하세요
VPC는 모든 IoT 리소스에 대해 격리된 네트워킹을 제공하여 Coreflux MQTT 브로커와 관리형 데이터베이스 간의 안전한 통신을 보장합니다.
2단계 — 확장 가능한 저장소를 위한 MongoDB 관리형 데이터베이스 설정
관리형 MongoDB 클러스터 생성
Linux-Console.net 관리형 데이터베이스는 자동 백업, 모니터링 및 유지 관리를 제공하여 생산 환경의 IoT 워크로드와 확장 가능한 스토리지 요구 사항에 이상적입니다.
Linux-Console.net 제어판에서 데이터베이스로 이동하세요
-
데이터베이스 클러스터 생성 클릭
IoT 자동화를 위해 MongoDB 클러스터를 구성하세요:
- 데이터베이스 엔진: MongoDB 선택
- 버전: 최신 안정 버전을 선택하세요
- 데이터센터 지역: Frankfurt 선택 (귀하의 VPC와 동일)
- VPC 네트워크: 생성한 coreflux-integrations-vpc를 선택하세요
- 데이터베이스 클러스터 이름: mongodb-coreflux-test
- 프로젝트: 대상 프로젝트 선택
귀하의 IoT 요구 사항에 따라 요금제를 선택하세요:
- 개발용: 기본 요금제 1GB RAM
- 생산용: 범용 이상으로 확장 가능한 저장소
데이터베이스 클러스터 생성 클릭
관리형 데이터베이스 생성 과정은 일반적으로 1~5분 정도 소요됩니다. 생성이 완료되면 데이터베이스 개요 페이지로 이동하며, 여기서 연결 세부 정보를 확인하고 관리 작업을 수행할 수 있습니다.
MQTT 브로커 통합을 위한 데이터베이스 접근 구성
연결 세부 정보가 표시되고 인바운드 액세스 규칙을 구성할 수 있는 '시작하기' 단계가 안내됩니다(권장: IP와 VPC로만 제한).
- 시작하기를 클릭하여 MongoDB 데이터베이스를 설정하세요
[선택 사항] 인바운드 연결 제한:
- 관리 액세스를 위해 로컬 컴퓨터의 IP를 추가하세요
- 드롭릿은 VPC 네트워킹을 통해 자동으로 허용됩니다
연결 세부 정보에서는 두 가지 옵션을 확인할 수 있습니다: 퍼블릭 네트워크와 VPC 네트워크. 첫 번째는 MongoDB Compass와 같은 도구의 외부 접근을 위한 것이고, 두 번째는 Coreflux 서비스가 데이터베이스에 접근할 때 사용됩니다.
제공된 연결 세부 정보를 기록해 두세요. 공용 액세스용과 VPC 액세스용(각각 별도의 세부 정보)을 모두 포함합니다:
- 호스트: 데이터베이스 호스트 이름
- 사용자: 기본 관리자 사용자
- 비밀번호: 자동 생성된 보안 비밀번호
- 데이터베이스: 인증 데이터베이스 이름
데이터베이스 연결 테스트
공용 접근 자격 증명을 사용하여 MongoDB Compass 또는 제공된 연결 문자열을 사용해 MongoDB 연결을 테스트할 수 있습니다:
mongodb://username:password@mongodb-host:27017/defaultauthdb?ssl=true애플리케이션 데이터베이스 및 사용자 생성(선택 사항)
더 나은 보안과 관리를 위해, IoT 자동화 애플리케이션을 위해 전용 사용자와 데이터베이스를 생성하세요. 이는 MongoDB Compass나 CLI를 통해서도 할 수 있지만, Linux-Console.net은 사용자 친화적인 접근 방식을 제공합니다:
- 관리형 데이터베이스 클러스터에서 사용자 & 데이터베이스 탭으로 이동하세요
사용자 생성:
- 사용자 이름: coreflux-broker-client
- 비밀번호: 자동 생성됨
데이터베이스 생성:
- 데이터베이스 이름: coreflux-broker-data
3단계 - Linux-Console.net Droplet에 Coreflux MQTT 브로커 배포하기
Linux-Console.net 드롭릿 만들기
- 당신의 Linux-Console.net 제어판에서 Droplets로 이동하세요
- 클릭 드롭렛 생성
MQTT 브로커 배포를 위해 드롭렛을 구성하세요:
- 지역 선택: 프랑크푸르트 (관리되는 데이터베이스와 동일)
- VPC 네트워크: coreflux-integrations-vpc 선택
- 이미지 선택: 마켓플레이스 탭으로 이동
- ‘Coreflux’를 검색하고 마켓플레이스에서 Coreflux를 선택하세요
IoT 작업 부하에 맞는 크기 선택:
- 개발용: 기본 요금제, 2GB 메모리
- 프로덕션용: Basic 또는 General Purpose 플랜, 4GB 이상의 메모리로 확장 가능한 성능 제공
인증 방법 선택:
SSH 키: 보안 강화를 위해 권장
- ssh-keygen을 사용하여 키를 로컬에서 생성할 수 있습니다
세부 사항 확정:
- 호스트명: coreflux-test-broker
클릭 드롭렛 생성
Droplet 홈페이지를 보고 배포가 완료될 때까지 기다리세요
대안 - Docker 이미지 Droplet에서 Docker로 Coreflux MQTT 브로커 설치
Coreflux Droplet에 사용하는 것과 동일한 방법으로 Marketplace 이미지로 Docker를 선택합니다.
드롭렛이 실행되면, 드롭렛 홈 페이지에서 제공되는 웹 콘솔이나 정의된 인증 방법을 사용하여 SSH로 연결하세요:
ssh root@your-droplet-ipDocker를 사용하여 Coreflux MQTT 브로커를 실행하세요:
docker run -d \
--name coreflux \
-p 1883:1883 \
-p 1884:1884 \
-p 5000:5000 \
-p 443:443 \
coreflux/coreflux-mqtt-broker-t:1.6.3이 Docker 명령어:
- 컨테이너를 분리 모드(-d)로 실행합니다
- 컨테이너를 코어플럭스로 명명합니다
- MQTT와 웹 인터페이스를 위해 필요한 포트를 노출합니다
- 최신 Coreflux 이미지를 사용합니다
MQTT 브로커가 실행 중인지 확인하세요:
docker ps실행 중인 컨테이너를 확인해야 합니다:
기본 값으로 연결하여 MQTT 브로커 배포 검증하기
배포 방식에 상관없이 MQTT Explorer와 같은 MQTT 클라이언트를 통해 MQTT 브로커에 접속하여 브로커 접근을 확인할 수 있습니다.
4단계 — 안전한 IoT 통신을 위한 방화벽 규칙 구성 (선택 사항)
생산용 IoT 자동화 배포의 경우 접근을 제한하도록 방화벽 규칙을 구성하세요:
네트워킹 → 방화벽으로 이동
방화벽 생성을 클릭하세요
MQTT 브로커 보안을 위한 인바운드 규칙 구성:
- SSH: 귀하의 IP에서 포트 22
- MQTT: 귀하의 IoT 애플리케이션 소스에서 포트 1883
- TLS를 사용하는 MQTT: 보안 TLS를 사용하는 MQTT를 위한 포트 1884
- 웹소켓: 웹소켓을 통한 MQTT용 포트 5000
- TLS가 적용된 WebSocket: TLS가 적용된 WebSocket을 통한 MQTT용 포트 443
방화벽을 드롭릿에 적용하세요
자세한 방화벽 설정은 Linux-Console.net의 방화벽 빠른 시작 가이드를 참조하세요.
5단계 — Coreflux의 사물 언어를 이용한 IoT 데이터 통합 설정
LoT 노트북 확장 설치
Visual Studio Code용 LoT (사물의 언어) 노트북 확장 기능은 MQTT 브로커 프로그래밍과 IoT 자동화를 위한 통합 로우 코드 개발 환경을 제공합니다.
- 비주얼 스튜디오 코드 열기
- 확장 프로그램으로 이동 (Ctrl+Shift+X)
- ‘LoT 노트북’ 검색
- Coreflux에서 제공하는 LoT VSCode 노트북 확장을 설치하세요
MQTT 브로커에 연결하기
위쪽 바에서 프롬프트가 나타날 때 또는 왼쪽 하단 바의 MQTT 버튼을 클릭하여 기본 자격 증명을 사용해 Coreflux MQTT 브로커에 연결을 설정하세요:
- 사용자: 루트
- 비밀번호: coreflux
오류가 없다고 가정하면, 하단 바 왼쪽에서 브로커와의 MQTT 연결 상태를 확인할 수 있습니다.
6단계 — 액션을 통해 MQTT 브로커에 데이터 생성하기
이 사용 사례에서는 원시 데이터를 변환 파이프라인을 통해 데이터베이스로 통합하는 작업을 진행할 것입니다. 그러나 데모에서는 MQTT 장치와 연결되어 있지 않기 때문에, IoT의 기능을 활용하여 Action을 사용해 장치 데이터를 시뮬레이션할 것입니다.
LoT에서 액션(Action)은 시간 간격, 토픽 업데이트 또는 다른 액션이나 시스템 구성요소의 명시적 호출과 같은 특정 이벤트에 의해 실행되는 논리입니다. 액션은 MQTT 토픽, 내부 변수 및 페이로드와의 동적 상호작용을 가능하게 하여 복잡한 IoT 자동화 워크플로를 지원합니다.
따라서 우리는 정의된 시간 간격 내에서 특정 주제에 대한 데이터를 생성하는 액션을 사용할 수 있으며, 이는 이후에 아래에서 정의할 나머지 파이프라인에서 사용할 수 있습니다.
샘플 프로젝트가 포함된 깃허브 저장소를 다운로드할 수 있습니다.
시뮬레이션 IoT 데이터 생성
Action을 생성하여 저코드 LoT () 인터페이스를 사용해 시뮬레이션 센서 데이터를 생성하세요:
DEFINE ACTION RANDOMIZEMachineData
ON EVERY 10 SECONDS DO
PUBLISH TOPIC "raw_data/machine1" WITH RANDOM BETWEEN 0 AND 10
PUBLISH TOPIC "raw_data/station2" WITH RANDOM BETWEEN 0 AND 60제공된 노트북에는 데이터를 시뮬레이션하기 위해 점진적으로 카운터를 증가시키는 액션도 있으며, 이는 제공된 액션의 대안으로 사용할 수 있습니다.
이 작업을 실행하면 다음과 같은 일이 발생합니다:
- MQTT 브로커에 자동으로 배포
- 10초마다 IoT 센서 데이터를 시뮬레이션 생성
- 특정 MQTT 주제에 실시간 데이터 게시
LoT 노트북 인터페이스에서 동기화 상태 표시
- 이 상태는 LoT 노트북의 코드가 브로커에서 실행 중인 코드와 다른지, 또는 코드가 완전히 없는지를 보여줍니다.
7단계 — 실시간 처리를 위한 데이터 변환 모델 만들기
사물의 언어로 데이터 모델 정의하기
Coreflux의 모델은 입력된 MQTT 토픽에서 값을 변환, 집계, 계산하여 결과를 새로운 토픽으로 게시하는 데 사용됩니다. 이들은 여러 데이터 소스에 적용할 수 있는 시스템의 통합 네임스페이스(Unified Namespace)를 생성하는 기반을 제공합니다.
이렇게 모델을 사용하면 단일 장치 또는 여러 장치에 동시에(와일드카드 + 사용) 대해 원시 사물 언어 데이터를 어떻게 구조화하고 변환할지 정의할 수 있습니다. 모델은 또한 관리형 데이터베이스에 대한 확장 가능한 저장소의 핵심 데이터 스키마 역할을 합니다.
DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
ADD "energy_wh" WITH (energy * 1000)
ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
ADD "timestamp" WITH TIMESTAMP "UTC"이 로우 코드 모델:
- 와일드카드
+를 사용하여 모든 머신에 자동으로 적용 - 에너지 값을 1000을 곱하여 와트시(energy_wh)로 변환합니다
- 에너지 임계값을 기반으로 생산 상태를 결정합니다
- 생산 수량과 정지 이벤트를 추적합니다
- 모든 실시간 데이터 지점에 타임스탬프를 추가합니다
- 토픽 구조에서 기계 ID를 추출합니다
- 트리거/소스 데이터 형식과 일치하는 각 토픽으로
+를 대체하여 Simulator/Machine/+/Data 토픽에 구조화된 데이터를 게시합니다.
Action을 사용해 두 개의 시뮬레이션 센서/기계를 생성했으므로, 모델 구조가 자동으로 두 개 모두에 적용되어 JSON 객체와 개별 토픽이 생성되는 것을 볼 수 있습니다.
8단계 — 확장 가능한 저장소를 위한 데이터베이스 통합 설정
데이터베이스 경로 생성
경로는 처리된 실시간 데이터가 관리형 데이터베이스와 같은 외부 시스템으로 어떻게 흐르는지를 정의합니다. 이는 다음과 같은 로우 코드 형식으로 정의됩니다:
DEFINE ROUTE mongo_route WITH TYPE MONGODB
ADD MONGODB_CONFIG
WITH CONNECTION_STRING "mongodb+srv://<username>:<password>@<cluster-uri>/<database>?tls=true&authSource=admin&replicaSet=<replica-set>"
WITH DATABASE "admin"여기서 Linux-Console.net의 MongoDB 연결 정보를 입력하고 IoT 노트북에서 경로를 실행하세요.
데이터베이스 저장을 위한 모델 업데이트
모델의 끝에 다음을 추가하여 LoT 모델이 확장 가능한 저장소를 위해 데이터베이스 경로를 사용하도록 수정하세요:
STORE IN "mongo_route"
WITH TABLE "MachineProductionData"또한, 주제를 포함한 매개변수를 추가하여 관리되는 데이터베이스의 각 항목에 고유 식별자가 있도록 하세요.
DEFINE MODEL MachineData WITH TOPIC "Simulator/Machine/+/Data"
ADD "energy" WITH TOPIC "raw_data/+" AS TRIGGER
ADD "device_name" WITH REPLACE "+" WITH TOPIC POSITION 2 IN "+"
ADD "energy_wh" WITH (energy * 1000)
ADD "production_status" WITH (IF energy > 5 THEN "active" ELSE "inactive")
ADD "production_count" WITH (IF production_status EQUALS "active" THEN (production_count + 1) ELSE 0)
ADD "stoppage" WITH (IF production_status EQUALS "inactive" THEN 1 ELSE 0)
ADD "maintenance_alert" WITH (IF energy > 50 THEN TRUE ELSE FALSE)
ADD "timestamp" WITH TIMESTAMP "UTC"
STORE IN "mongo_route"
WITH TABLE "MachineProductionData"이 업데이트된 액션을 배포하면 모든 데이터가 업데이트될 때 자동으로 데이터베이스에 저장되어야 합니다.
단계 9 — 완전한 IoT 자동화 파이프라인 검증
실시간 데이터 흐름 모니터링
- MQTT Explorer: MQTT 클라이언트를 사용하여 실시간 데이터 발행을 확인하세요
- MongoDB Compass: 데이터를 저장 상태를 확인하려면 연결하세요
데이터베이스 저장소 확인
MongoDB Compass를 사용하여 MongoDB 관리형 데이터베이스에 연결하고 확장 가능한 스토리지를 확인하세요:
- Linux-Console.net 데이터베이스에서 연결 문자열을 사용하세요
- coreflux-broker-data 데이터베이스(또는 데이터베이스에 지정한 이름)로 이동하세요
- MachineProductionData 컬렉션에서 저장된 문서를 확인하세요
다음과 유사한 구조를 가진 실시간 데이터 문서를 확인해야 합니다:
{
"_id": {
"$oid": "68626dc3e8385cbe9a1666c3"
},
"energy": 36,
"energy_wh": 36000,
"production_status": "active",
"production_count": 31,
"stoppage": 0,
"maintenance_alert": false,
"timestamp": "2025-06-30 10:58:11",
"device_name": "station2"
}앞서 살펴본 것처럼, 모든 데이터는 다른 용도와 통합을 위해 MQTT 브로커에서 이용할 수 있습니다.
단계 10 - 사용 사례와 통합 확장하기
사물 능력 테스트 언어
- 샘플 데이터 게시하기: MQTT Explorer를 사용하여 샘플 데이터 세트를 Coreflux 브로커에 게시하세요. 다양한 페이로드 구조와 다양한 모델/작업을 실험하여 MongoDB에서 어떻게 처리되고 저장되는지 확인해 보세요.
- 데이터 검증: MongoDB의 데이터가 게시한 페이로드와 일치하는지 확인하세요. MongoDB Compass를 사용하여 일관성과 정확성을 점검하고, IoT 자동화 통합이 예상대로 작동하는지 확인하세요. 타임스탬프, 필드 변환, 데이터 타입을 비교하여 실시간 데이터 파이프라인을 검증하세요. 더 많은 MongoDB 설정 가이드를 보려면, MongoDB 튜토리얼 모음을 참고하세요.
- 실시간 모니터링: MQTT 연결이 가능한 간단한 센서와 같은 다른 데이터 소스를 사용하여 지속적인 실시간 데이터 피드를 설정하세요. Coreflux와 MongoDB가 들어오는 IoT 데이터 스트림을 어떻게 처리하는지 관찰하고, 데이터 조회 및 쿼리에 대한 응답 시간을 탐색해 보세요.
분석 및 시각화 구축
- 대시보드 생성: Grafana와 같은 시각화 도구와 통합하여 MQTT 브로커의 실시간 데이터 또는 데이터베이스에 저장된 데이터를 표시하는 동적 대시보드를 생성하세요. 디바이스 가동 시간, 센서 측정값, 생산 수량 또는 자동화 시스템의 유지보수 알림과 같은 지표를 추적할 수 있습니다. Prometheus와 Grafana를 사용하여 Linux-Console.net 관리 데이터베이스 모니터링을 설정하는 방법에 대한 가이드를 통해 모니터링 설정 방법을 배우세요.
- 트렌드 분석: MongoDB의 집계 프레임워크를 활용하여 시간에 따른 트렌드를 분석하세요. 시스템 문제나 최적화 기회를 나타낼 수 있는 실시간 데이터의 패턴, 급증, 이상 현상을 찾아보세요.
- 멀티 데이터베이스 통합: 관계형 데이터를 위해 PostgreSQL, 구조화된 쿼리를 위해 MySQL, 고급 분석 및 검색 기능을 위해 OpenSearch와 같은 추가 관리형 데이터베이스 통합을 탐색해 보세요. Coreflux 경로를 사용하여 데이터를 여러 목적지로 동시에 전송할 수 있습니다. OpenSearch 통합 예제는 Coreflux MQTT 브로커와 함께 OpenSearch를 배포하는 튜토리얼을 참고하세요.
IoT 인프라 최적화 및 확장
- 부하 테스트: LoT Notebook 또는 자동화 스크립트를 사용하여 동시에 많은 메시지를 발행하여 높은 트래픽을 시뮬레이션합니다. Coreflux MQTT 브로커와 MongoDB 클러스터가 부하를 어떻게 처리하는지 모니터링하고, 데이터 파이프라인에서 병목 현상이 있는지 확인합니다.
- 확장: Linux-Console.net은 수직 및 수평 확장 옵션을 제공합니다. IoT 데이터 요구가 증가함에 따라 드롭렛 리소스(CPU, RAM 또는 스토리지)를 늘리세요. 더 큰 데이터셋을 처리하기 위해 관리형 데이터베이스 클러스터를 확장하고, 리소스 한계에 근접할 때 알림을 받을 수 있도록 자동 확장 알림을 설정하세요.
자주 묻는 질문
MQTT 브로커를 MongoDB와 어떻게 통합하나요?
MQTT 브로커를 MongoDB와 통합하려면 Coreflux에서 MongoDB 인스턴스에 연결되는 데이터베이스 경로를 생성하면 됩니다. 이 경로는 인증 자격 증명이 포함된 연결 문자열을 사용하며 MQTT 메시지 페이로드를 MongoDB 컬렉션에 자동으로 저장합니다. Coreflux는 연결 관리를 처리하므로, 사용자는 사물 언어(LoT) 구문을 사용한 데이터 변환 로직에 집중할 수 있습니다.
MQTT 데이터를 별도의 맞춤 코드 없이 바로 MongoDB에 저장할 수 있나요?
네, Coreflux는 MongoDB 경로 기능을 통해 로우코드 솔루션을 제공합니다. MongoDB 연결 문자열로 경로를 정의한 다음 데이터 모델에 STORE IN 지시문을 추가하면 됩니다. 이렇게 하면 맞춤형 데이터베이스 통합 코드를 작성하지 않고도 처리된 모든 MQTT 메시지가 자동으로 MongoDB에 저장됩니다. 경로는 연결 풀링, 오류 처리 및 재시도 로직을 자동으로 처리합니다.
IoT 애플리케이션에서 MQTT와 함께 MongoDB를 사용하는 장점은 무엇인가요?
MongoDB의 유연한 문서 구조는 센서 측정값이 종종 다양한 스키마를 가지기 때문에 IoT 데이터에 이상적입니다. 관계형 데이터베이스와 달리 MongoDB는 사전 정의된 테이블이 필요하지 않아 서로 다른 장치 유형과 데이터 형식을 동일한 컬렉션에 저장할 수 있습니다. 여기에 MQTT의 경량 메시징 프로토콜이 결합되면 대규모 실시간 IoT 데이터 스트림을 위한 효율적인 파이프라인이 만들어집니다. Linux-Console.net의 관리형 MongoDB는 자동 백업, 확장 및 모니터링을 추가하여 운영을 단순화합니다.
Coreflux와 MongoDB 간의 연결은 얼마나 안전한가요?
Linux-Console.net에 배포할 때, VPC 네트워킹을 사용하여 Coreflux MQTT 브로커와 MongoDB 데이터베이스 간의 모든 통신을 비공개로 유지할 수 있습니다. VPC는 리소스를 공개 인터넷 접근으로부터 격리하며, Linux-Console.net에서 관리하는 데이터베이스는 연결을 위한 TLS 암호화를 지원합니다. 또한 최소 권한 원칙에 따라 Coreflux 애플리케이션에 대해 제한된 권한을 가진 전용 데이터베이스 사용자를 생성할 수 있습니다.
이 설정을 실제 IoT 배포에 사용할 수 있나요?
네, 이 아키텍처는 프로덕션 환경에서도 사용 가능합니다. Linux-Console.net 관리형 데이터베이스는 자동 백업, 고가용성, 모니터링을 기본 제공하며, Coreflux MQTT 브로커는 수평 확장이 가능하고 높은 메시지 처리량을 지원합니다. 프로덕션 배포 시에는 방화벽 규칙을 구성하고, 강력한 인증 자격 증명을 사용하며, MQTT 연결에 TLS를 활성화하고, 모니터링 알림을 설정해야 합니다. 예상 메시지 볼륨에 따라 적절한 리소스 크기로 시작하고 필요에 따라 확장하세요.
결론
Coreflux MQTT 브로커를 Linux-Console.net의 관리형 MongoDB 서비스와 통합하면 실시간 IoT 데이터 처리와 확장 가능한 스토리지를 위한 강력한 솔루션을 제공할 수 있습니다. 이 튜토리얼을 따라가면 자동화 파이프라인을 원활하게 설정할 수 있으며, 저코드 개발 방식을 활용하여 IoT 데이터를 효율적으로 수집, 처리, 저장할 수 있습니다.
Coreflux의 확장 가능한 아키텍처와 MongoDB의 강력한 문서 저장 기능을 통해 대량의 실시간 데이터를 처리하고 즉시 귀중한 인사이트를 얻을 수 있습니다. 산업 시스템을 모니터링하든, 환경 센서를 추적하든, 스마트 시티 인프라를 관리하든, 이 IoT 자동화 통합은 데이터 기반 의사 결정을 신속하고 효과적으로 내릴 수 있도록 지원합니다.
사물의 언어 (LoT) 노트북 접근법과 Linux-Console.net의 관리형 서비스를 결합하면, 비즈니스 요구에 맞춰 확장 가능한 IoT 및 DevOps 준비 기반이 만들어집니다. 이제 귀하의 MQTT 브로커 배포는 프로덕션 워크로드를 처리할 준비가 되었으며, 요구 사항이 발전함에 따라 PostgreSQL, MySQL, OpenSearch 및 기타 데이터베이스 기술을 지원하도록 확장할 수 있습니다.
다음 단계
이제 Coreflux MQTT 브로커를 MongoDB와 함께 배포했으므로, IoT 자동화 기능을 확장하기 위해 다음 자료를 탐색해 보세요:
관련 튜토리얼 탐색: Coreflux MQTT 브로커로 OpenSearch를 배포하는 튜토리얼에서 OpenSearch 배포에 대해 더 배우거나, MongoDB 튜토리얼 모음으로 MongoDB에 대해 더 깊이 알아보세요.
Linux-Console.net 관리형 데이터베이스를 사용해보세요: MongoDB, PostgreSQL, MySQL, Redis에 대해 자동 백업, 확장 및 고가용성을 제공하는 Linux-Console.net 관리형 데이터베이스로 데이터베이스 운영을 간소화하세요.
마켓플레이스에서 Coreflux 배포: Linux-Console.net 마켓플레이스에서 제공되는 Coreflux MQTT 브로커를 통해 빠르게 시작하거나, 추가 IoT 및 자동화 도구를 위해 다른 마켓플레이스 애플리케이션을 탐색해 보세요.
Coreflux 문서 검토: Coreflux 문서에서 사물의 언어(Language of Things)와 고급 Coreflux 기능에 대한 이해를 심화하세요.
샘플 프로젝트 체험하기: 샘플 IoT 자동화 프로젝트를 실험해 보면서 추가적인 사용 사례와 통합 패턴을 확인해 보세요.
추가 자료 및 문서
Linux-Console.net 설정 가이드
프로젝트 관리
- Linux-Console.net에서 프로젝트 생성 및 관리 방법 - IoT 인프라 리소스를 효율적으로 조직하세요.
네트워크 인프라
- VPC 네트워크 만드는 방법 - MQTT 브로커와 데이터베이스를 위한 안전한 사설 네트워킹 설정
- 방화벽 빠른 시작 가이드 - 생산용 IoT 배포를 위한 보안 규칙 구성
드롭렛 배포
- 드롭렛 생성 방법 - 가상 머신 배포를 위한 완전 가이드
- Docker 1-Click 애플리케이션 - Linux-Console.net 마켓플레이스에서 사전 구성된 Docker 환경 배포
- Docker 1-Click 설치 튜토리얼 - 단계별 Docker 설정 안내
데이터베이스 관리
- MongoDB 데이터베이스 관리 방법 - MongoDB 데이터베이스 및 사용자 생성과 관리
- MongoDB에 연결하는 방법 - 애플리케이션에서 관리되는 MongoDB 클러스터에 연결하기
서버 관리
- 권장 드롭릿 설정 - 서버 보안 및 구성 모범 사례
- 콘솔을 통해 Droplet에 연결 - 웹 기반 콘솔을 통해 Droplet에 접근하세요
대체 설치 방법
참고: 이 튜토리얼에서는 단순한 배포를 위해 Coreflux 또는 Docker Marketplace 이미지를 사용하지만, Coreflux MQTT 브로커를 우분투에 직접 설치할 수도 있습니다. 수동 설치 방법은 Coreflux 설치 가이드를 참조하세요.
관련 Linux-Console.net 튜토리얼
- Coreflux MQTT 브로커로 OpenSearch 배포하기 - 고급 검색 및 분석을 위해 Coreflux를 OpenSearch와 통합하는 방법 배우기
- 우분투에 MongoDB 설치하는 방법 - 자체 관리 배포를 위한 수동 MongoDB 설치 가이드
- MongoDB 소개 - MongoDB 개념과 문서형 데이터베이스 기초 이해
Linux-Console.net 커뮤니티와 함께 학습해 주셔서 감사합니다.


















