본문 바로가기
기타

[개인공부] ZeroMQ

by BtoP 2023. 8. 8.

ZeroMQ(Zero Message Queue, 줄여서 0MQ 또는 ZMQ)는 고성능의 분산 메시징 라이브러리로, 소프트웨어 시스템 간에 통신이 필요한 경우 사용한다. ZeroMQ는 C++로 구현되었으며, 다양한 프로그래밍 언어로 바인딩되어 사용할 수 있다.

1. 소켓 프로그래밍 보완 : ZeroMQ는 TCP, in - process(IPC), 및 다중캐스트 소켓을 포함한 다양한 전송레이어를 지원하여 기존의 소켓 프로그래밍을 향상시킨다.

2. 메시지 패턴 및 스케일링 : ZeroMQ는 가장 일반적인 메시지 패턴(Pub-Sub, Request-Reply, Push-Pull, Pair 등)을 제공하며 시스템이 확장 가능하고 유지 관리하기 쉽도록 도와준다.

3. 비동이 I/O 모델 : ZeroMQ는 높은 처리량과 낮은 지연시간을 목표로 하는 어플리케이션에 적합한 비동기 I/O모델을 제공한다. 일반적으로 이벤트 기반의 구조로 작성되어 여러 스레드, 프로세스 및 노드간의 동시처리를 지원한다.

4. 큐잉 및 안정성 : ZeroMQ는 지연된 메시지 전달을 위한 내부 버퍼를 제공한다. 이로 인해 전송 전용 큐 내에서 임시 실패를 처리하며 상대적으로 높은 데이터 통신 안정성을 보장한다.

5. 운영 체제 및 프로그래밍 언어와 호환 : ZeorMQ는 크로스 플랫폼 지원을 제공하며 대부분의 주요 운영 체제와 프로그래밍 언어와 상호 운용이 가능하다.

결론적으로, 소프트웨어 시스템 간의 통신 및 상호 작용을 쉽게 구축하고 확장할 수 있도록 도와주는 매우 유연하고 강력한 메시징 라이브러리다. 간단한 요구 사항부터 복잡한 분산 시스템에 이르기까지 다양한 시나리오에서 사용할 수 있다.

ZeroMG 홈페이지
https://zeromq.org/

 

ZeroMQ

An open-source universal messaging library

zeromq.org


ZeroMG 깃허브
https://github.com/zeromq

 

The ZeroMQ project

The ZeroMQ project has 85 repositories available. Follow their code on GitHub.

github.com