[c++] ZeroMQ 개요

ZeroMQ는 메시지 큐 라이브러리로, 안정적이고 가벼운 네트워크 통신을 가능하게 합니다. 분산 시스템에서 효율적인 메시지 전달을 지원하며, 멀티 프로토콜 및 언어 지원을 특징으로 합니다.

주요 특징

  1. 가벼움: ZeroMQ는 작고 빠르며 오버헤드가 적습니다.
  2. 간결성: 간단하고 직관적인 API를 통해 쉽게 사용할 수 있습니다.
  3. 분산 시스템 지원: 다양한 패턴을 통해 분산 시스템에서 유연하고 효율적인 메시지 전달을 지원합니다.
  4. 여러 언어 지원: C, C++, Python, Java, Go 등 다양한 언어에서 사용 가능합니다.
  5. 안정성: 네트워크 장애나 시스템 다운 시 안정적으로 동작합니다.

Hello World 예제

#include <zmq.hpp>
#include <iostream>

int main() {
    zmq::context_t context(1);
    zmq::socket_t socket(context, ZMQ_REQ);

    socket.connect("tcp://localhost:5555");

    zmq::message_t request(5);
    memcpy(request.data(), "Hello", 5);
    socket.send(request);

    zmq::message_t reply;
    socket.recv(&reply);

    std::cout << "Received: " << std::string(static_cast<char*>(reply.data()), reply.size()) << std::endl;

    return 0;
}

결론

ZeroMQ는 가볍고 빠르며 안정적인 메시지 큐 라이브러리로, 분산 시스템에서 메시지 전달을 위한 강력한 도구로 사용됩니다.

참고 자료