PlatformUpdated 2025-04-01

gRPC Gateway

Protocol Buffers 기반 클라우드↔디바이스 양방향 스트리밍 제어 채널.

gRPCProtobufGoSpring BootESP32-S3

개요

CtrlFarm gRPC Gateway는 클라우드와 IoT 디바이스 간 양방향 실시간 스트리밍 채널을 제공합니다. MQTT가 단방향 텔레메트리에 최적화되어 있다면, gRPC는 저지연 양방향 제어 명령에 사용합니다.

MQTT vs gRPC 역할 분리

항목MQTTgRPC
방향주로 단방향 (Device to Cloud)양방향 스트리밍
용도센서 텔레메트리실시간 제어 명령
프로토콜TCP 위 경량 메시지HTTP/2
직렬화JSONProtocol Buffers
CtrlFarm 적용센서 데이터 수집액추에이터 제어

전체 아키텍처

Proto 정의

protobuf

Go gRPC Gateway 구현

프로젝트 구조

Bash

main.go

Go

node_handler.go

Go

Spring Boot gRPC 클라이언트

의존성

groovy

application.yml

YAML

GrpcNodeClient

Java

스트리밍 흐름

Proto 코드 생성

Bash

오류 처리 및 재연결

상황처리
네트워크 단절keepalive 설정으로 자동 감지
스트림 종료ESP32 측 재연결 루프
타임아웃deadline 설정으로 블로킹 방지
인증TLS + mTLS (프로덕션)