1.19 대표적 메시지 큐 시스템의 한계 비교
1. 엔터프라이즈 메시지 큐의 자원 오버헤드
분산 데이터 처리를 위해 IT 엔터프라이즈 환경에서는 아파치 카프카(Apache Kafka), 래빗엠큐(RabbitMQ), 액티브엠큐(ActiveMQ)와 같은 대표적인 메시지 큐(Message Queue) 시스템이 광범위하게 사용되어 왔다. 이 시스템들은 대규모 데이터 파이프라인과 트랜잭션 처리에 특화되어 강력한 신뢰성을 제공하지만, 근본적으로 클라우드나 온프레미스(On-Premises) 데이터 센터의 풍부한 하드웨어 자원을 전제로 설계되었다.
대다수의 엔터프라이즈 메시지 큐 시스템은 자바 가상 머신(JVM) 기반으로 동작하거나 대용량의 메모리와 스토리지를 필수적으로 요구한다. 이러한 무거운 런타임 특성으로 인해, 메모리가 수 킬로바이트(KB)에 불과한 엣지 컴퓨팅(Edge Computing) 디바이스나 마이크로컨트롤러(Microcontroller, MCU) 환경에는 직접 배포하는 것이 물리적으로 불가능하다. 이는 곧 클라우드에서 마이크로컨트롤러까지 이어지는 통신의 연속성(Cloud-to-Microcontroller Continuum)을 단절시키는 핵심 원인이 된다.
2. 고정된 데이터 흐름과 단일 통신 패턴의 한계
전통적인 메시지 큐 시스템은 태생적으로 중앙 브로커(Broker)를 통과하는 비동기적인 발행/구독(Pub/Sub)이나 스트리밍 패턴에 극단적으로 치우쳐져 있다. 특정 노드가 현재 보관하고 있는 데이터의 실시간 상태를 즉각적으로 묻고 답하는 질의/응답(Query/Reply) 패턴을 구현하기 위해서는 애플리케이션 개발자가 요청용 큐와 응답용 큐를 별도로 생성하고 관리하는 복잡도를 감수해야 한다.
또한, 이러한 시스템은 엄격한 허브 앤 스포크(Hub-and-Spoke) 토폴로지를 강제하므로, 동적 네트워크 환경에서 노드들이 서로 직접 통신하는 피어-투-피어(Peer-to-Peer) 통신이나 군집 로봇(Swarm Robotics)과 같은 분산형 메쉬(Mesh) 네트워크 토폴로지를 지원하지 못한다.
3. Zenoh의 대안적 데이터 중심 아키텍처
Zenoh는 이러한 무거운 메시지 큐 시스템들의 기능적 파편화와 자원 비효율성을 해소하기 위해 등장했다. Zenoh는 제로 오버헤드(Zero Overhead) 원칙을 극도화하여 자원 제약 기기에서도 구동 가능한 네트워크 프로토콜 스택을 제공한다.
무엇보다 큰 차별점은 통합된 데이터 엑세스 추상화이다. Zenoh는 중앙 집중형 메시지 큐에 데이터를 밀어 넣는(Push) 방식에 국한되지 않고, 분산 저장소에 저장된 데이터(Data at Rest)와 라우팅 중인 데이터(Data in Motion)를 동일한 키 표현식(Key Expression)으로 유연하게 가져오는(Pull/Query) 풀(Pull) 기반 추상화 모델을 단일 런타임 내에서 네이티브하게 제공한다. 이로써 기존 메시지 큐 시스템이 요구했던 육중한 브로커 인프라를 걷어내고, 동적 발견(Dynamic Discovery)과 위치 투명성(Location Transparency)이 보장된 차세대 분산 데이터 라우팅을 실현할 수 있다.