Repolode
zeromq

zeromq/libzmq

Biblioteca central em C++ do ZeroMQ, que amplia sockets padrão com filas assíncronas, padrões de mensageria e múltiplos transportes.

Estrelas
11,030
Forks
2,494
Issues abertas
396
Último commit
há 7 dias

O que é?

libzmq é o mecanismo central em C++ do ZeroMQ, uma biblioteca leve de mensageria que amplia interfaces padrão de sockets com recursos normalmente encontrados em middlewares dedicados de mensageria. Os sockets oferecem filas assíncronas de mensagens, vários padrões de mensageria, filtragem de mensagens por meio de inscrições e acesso a diversos protocolos de transporte. A biblioteca implementa o protocolo de rede ZMTP 3.1.

A biblioteca é escrita principalmente em C++98, com algum código opcional em C++11, e pode ser compilada com autotools ou CMake. Há pacotes pré-compilados para Linux e macOS, e o vcpkg e o Homebrew podem instalá-la em outros sistemas. A documentação do projeto lista as plataformas compatíveis, incluindo Linux, Windows, macOS, Android e várias variantes de BSD e Unix.

Desenvolvedores usam libzmq quando precisam conectar processos distribuídos com mensageria de solicitação-resposta, publicação-assinatura ou pipeline sem ter que criar a própria infraestrutura de filas. Bindings para outras linguagens se apoiam nessa biblioteca central.

Recursos principais

  • 01Filas assíncronas de mensagens por trás de APIs de sockets padrão
  • 02Vários padrões de mensageria, como solicitação-resposta, publicação-assinatura e pipeline
  • 03Filtragem de mensagens por meio de inscrições
  • 04Acesso a diversos protocolos de transporte
  • 05Implementa o protocolo de rede ZMTP 3.1
  • 06Compila com autotools ou CMake

Casos de uso

  • Conectar serviços distribuídos com mensageria assíncrona entre processos
  • Criar fluxos de dados no padrão publicação-assinatura entre componentes conectados em rede
  • Servir de base nativa para bindings de linguagem que usam ZeroMQ

Início rápido

  1. 1

    Instalar no macOS via Homebrew

    brew install zeromq
  2. 2

    Clonar o repositório do vcpkg

    git clone https://github.com/microsoft/vcpkg.git
  3. 3

    Preparar o vcpkg (bash)

    ./bootstrap-vcpkg.sh
  4. 4

    Instalar o zeromq com o vcpkg

    ./vcpkg install zeromq

Antes de usar

  • Pacotes binários pré-compilados são fornecidos apenas para Linux e macOS; nas demais plataformas, é necessário compilar a partir do código-fonte.
  • As APIs DRAFT podem mudar a qualquer momento, sem aviso prévio. Para evitá-las, use uma compilação STABLE.

Em coleções

Tópicos

Perguntas frequentes

O que é libzmq?
Biblioteca central em C++ do ZeroMQ, que amplia sockets padrão com filas assíncronas, padrões de mensageria e múltiplos transportes. libzmq é o mecanismo central em C++ do ZeroMQ, uma biblioteca leve de mensageria que amplia interfaces padrão de sockets com recursos normalmente encontrados em middlewares dedicados de mensageria. Os sockets oferecem filas assíncronas de mensagens, vários padrões de mensageria, filtragem de mensagens por meio de inscrições e acesso a diversos protocolos de transporte. A biblioteca implementa o protocolo de rede ZMTP 3.1.
libzmq é gratuito? Qual é a licença?
libzmq é open source sob a licença MPL-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
libzmq ainda é mantido?
Manutenção ativa. O último commit de libzmq foi em 18 de out. de 2026.
Para que posso usar libzmq?
Conectar serviços distribuídos com mensageria assíncrona entre processos Criar fluxos de dados no padrão publicação-assinatura entre componentes conectados em rede Servir de base nativa para bindings de linguagem que usam ZeroMQ
Como instalar libzmq?
Instalar no macOS via Homebrew: brew install zeromq Clonar o repositório do vcpkg: git clone https://github.com/microsoft/vcpkg.git Preparar o vcpkg (bash): ./bootstrap-vcpkg.sh Instalar o zeromq com o vcpkg: ./vcpkg install zeromq
Onde consigo libzmq?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/zeromq/libzmq

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados