O que é o Apache Pulsar?

Um céu estrelado sobre montanhas cobertas de neve e um corpo d'água.

Autores

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

O que é o Apache Pulsar?

O Apache Pulsar é uma plataforma de streaming e mensagens distribuídos nativa da nuvem de código aberto. Enquanto o Apache Kafka tem sido há muito tempo o padrão para fluxo de eventos e processamento de dados em tempo real, o Apache Pulsar surgiu como uma alternativa poderosa na última década.

 

Conforme as empresas enfrentam ambientes de TI e dados cada vez mais complexos, elas contam com plataformas de mensagens e streaming para garantir a troca de dados rápida e confiável entre aplicações, sistemas e serviços. Com análise de dados em tempo real se tornando um fator crítico de insights praticáveis, acelerar a velocidade do fluxo de dados e do processamento de dados é uma prioridade máxima. De acordo com dados da IDC de 2025, as empresas entrevistadas indicam que 63% dos casos de uso devem processar dados em poucos minutos para serem úteis.

O Pulsar combina as funcionalidades dos sistemas de mensagens tradicionais com as dos sistemas de publicação/assinatura, tornando-o perfeitamente adequado para casos de uso como microsserviços, mensagens instantâneas e integração de dados. Uma série de recursos e vantagens possibilitam a versatilidade do Pulsar, incluindo georreplicação, multilocação e e armazenamento em camadas.

Originalmente desenvolvido no Yahoo e com código aberto pela Apache Software Foundation em 2016, o Apache Pulsar agora gerencia centenas de bilhões de eventos por dia em importantes organizações.

As mais recentes notícias de tecnologia, corroboradas por insights de especialistas.

Mantenha-se atualizado sobre as tendências mais importantes e fascinantes do setor em IA, automação, dados e muito mais com o boletim informativo da Think. Consulte a declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua inscrição será entregue em inglês. Você pode encontrar um link para cancelar a inscrição em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa declaração de privacidade da IBM para obter mais informações.

Mensagens e fluxo de eventos

A compreensão da importância do Apache Pulsar começa com uma visão clara de como as plataformas de mensagens e fluxo de eventos funcionam.

Mensagens

Uma mensagem é um pacote de dados que as aplicações criam para outras aplicações usarem. Esses pacotes são usados na ordem em que são transmitidos, até que a aplicação consumidora os processe.

Os sistemas de mensagens facilitam a troca dessas mensagens. Os sistemas de mensagens tradicionais são soluções de middleware (também chamadas de middleware orientado a mensagens, ou MOM). Essas soluções geralmente são compatíveis com dois padrões de distribuição de mensagens: mensagens ponto a ponto e mensagens de publicação/assinatura.

Nas mensagens ponto a ponto, uma aplicação (chamada de remetente) envia uma mensagem para o que é conhecido como fila de mensagens, que armazena a mensagem. Em seguida, outra aplicação (chamada de receptor ou consumidor) recebe a mensagem da fila e a processa. Cada mensagem deve ser consumida apenas uma vez.

Em sistemas de mensagens de publicação/assinatura, ou sistemas de mensagens pub/sub, a aplicação que produz a mensagem é chamada de publicador. As aplicações que a usam são chamadas de assinantes. Cada mensagem é publicada em uma categoria conhecida como tópico, e cada aplicação que assina esse tópico recebe uma cópia de todas as mensagens publicadas nele.

Partições e tópicos particionados podem acelerar o processamento de mensagens. As mensagens publicadas em tópicos particionados são distribuídas entre vários brokers.

As mensagens pub/sub foram projetadas para comunicação no estilo de transmissão, "um para muitos". Mensagens ponto a ponto, como seu nome implica, trocam informações entre um único remetente e um único destinatário.

Entre os sistemas de mensagens tradicionais, o RabbitMQ, uma plataforma de código aberto, é frequentemente citado como o mais popular.

Fluxo de eventos

Uma plataforma de fluxo de eventos captura dados em tempo real de aplicação, bancos de dados e dispositivos de IoT. Em seguida, ela transporta os dados para vários destinos, para processamento, análise ou armazenamento imediatos.

Conhecidas por sua escalabilidade, as plataformas de fluxo de eventos podem ordenar fluxos de registros em tópicos e armazená-los por um período de tempo predeterminado. No entanto, ao contrário dos sistemas de mensagens tradicionais, as plataformas de fluxo de eventos não podem garantir a entrega de mensagens ou rastrear quais consumidores receberam as mensagens. Elas dependem de mensagens pub/sub em vez de distribuição de mensagens ponto a ponto e oferecem menos flexibilidade no roteamento de mensagens.

Entre as plataformas de fluxo de eventos, o Apache Kafka é a mais usada.

Mixture of Experts | 28 de agosto, episódio 70

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Características principais do Apache Pulsar

O Apache Pulsar combina os recursos de plataformas como o RabbitMQ e Apache Kafka em uma única solução. Pode transmitir eventos e entregar mensagens a vários consumidores como o Kafka; é compatível com o enfileiramento e pode enviar mensagens para consumidores individuais, como o RabbitMQ.

Mas o Pulsar é mais do que apenas a soma de seus antecessores. A Yahoo desenvolveu inicialmente a plataforma para lidar com suas próprias necessidades organizacionais; portanto, certas vantagens competitivas foram incorporadas desde o início. Nos anos seguintes, outras melhorias aprimoraram ainda mais o Pulsar como uma plataforma de mensagens e streaming de alto desempenho.

Atualmente, algumas das funcionalidades mais atraentes do Apache Pulsar incluem:

  • Multilocação
  • Replicação geográfica
  • Arquitetura multicamadas
  • Armazenamento em camadas
  • Conectores de E/S
  • Assinaturas flexíveis

Multilocação

A multilocação foi uma das funcionalidades originais que diferenciaram o Apache Pulsar de outras plataformas. Na arquitetura de software multilocatário, uma única instância de uma aplicação de software (e seu banco de dados e hardware subjacentes) atende a vários locatários (ou contas de usuários). Os benefícios da multilocação incluem a simplificação da instalação, configuração, manutenção e implementação de aplicações do sistema, bem como economia de custos.

No Apache Pulsar, diferentes equipes podem compartilhar com segurança o sistema de mensagens. Cada locatário tem a própria autenticação, autorização e políticas. Os locatários podem ser divididos no que é conhecido como namespaces (agrupamentos lógicos de tópicos). Essa divisão facilita a compatibilidade com diferentes ambientes (como desenvolvimento, preparação e produção) dentro de um único locatário.

Georreplicação

Replicar mensagens para locais remotos é importante para a compatibilidade com a recuperação de desastres ou para permitir que as aplicações operem em escala global. Ao contrário de outras plataformas, o Pulsar não requer configurações ou complementos complexos para impulsionar esse recurso.

Com a georreplicação, as aplicações podem se conectar ao cluster local do Pulsar e ainda enviar para clusters em todo o mundo. Se um produtor publicar uma mensagem em um tópico em um namespace replicado, essa mensagem será automaticamente replicada para a geolocalização ou locais remotos configurados.

Arquitetura multicamadas

A arquitetura do Pulsar separa os componentes de entrega de mensagens (brokers de mensagens) e as camadas de armazenamento de mensagens. As mensagens são armazenadas pelo Apache BookKeeper, um líder conhecido em soluções de armazenamento de logs duráveis.

Para melhorar o desempenho, o BookKeeper distribui os dados entre vários servidores conhecidos como bookies. (Os metadados dos livros-razão do BookKeeper são armazenados no Apache ZooKeeper.) Bookies podem ser adicionados conforme a necessidade, resultando em escalabilidade horizontal adequada para lidar com grandes volumes de dados. Essa arquitetura permite que o Pulsar forneça baixa latência e, ao mesmo tempo, transfira grandes quantidades de dados em um curto período de tempo — o que é conhecido como alta taxa de transferência.

A arquitetura do Pulsar também é considerada arquitetura nativa da nuvem. Tanto o Pulsar quanto a computação em nuvem separam a computação do armazenamento. Além disso, o Pulsar pode ser implementado no Kubernetes, uma plataforma de orquestração de contêineres de código aberto, que é um bloco de construção da infraestrutura de nuvem moderna.

Armazenamento em camadas

O Apache Pulsar também possui armazenamento em camadas. Esse recurso permite que dados de backlog mais antigos sejam migrados do Apache BookKeeper para um armazenamento de longo prazo mais barato e, ao mesmo tempo, ainda permite que os clientes do Pulsar acessem o backlog.

O armazenamento em camadas do Pulsar usa o Apache jclouds (um toolkit de código aberto multinuvem para a plataforma Java) para compatibilidade com o armazenamento de longo prazo por meio de soluções como AWS S3 (Amazon S3), GCS (Google Cloud Storage), Azure e Aliyun.

Conectores de E/S

O Apache Pulsar pode ser facilmente utilizado com sistemas externos graças aos conectores de E/S do Pulsar. Esses conectores atuam como pontes entre o Pulsar e outros sistemas, como mecanismos de processamento de streaming, APIs de pipelines de dados e outras plataformas de mensagens.

Os conectores do Pulsar vêm em dois tipos: origem e coletor. Os conectores de origem transmitem dados de sistemas externos para o Pulsar, enquanto os conectores de coletor fazem o oposto, transmitindo dados do Pulsar para sistemas externos. Os conectores do Pulsar comumente usados incluem MySQL, MongoDB, Cassandra, RabbitMQ, Kafka, Flume e Redis.

Assinaturas flexíveis

O Apache Pulsar é compatível com quatro tipos diferentes de assinaturas1 para auxiliar os usuários a configurar padrões de mensagens:

  • Exclusiva: apenas um consumidor tem permissão para receber mensagens por meio da assinatura.

  • Failover: quando a transmissão de mensagens para um consumidor primário designado falha, as mensagens são enviadas para um consumidor em espera para processamento.

  • Compartilhada: as mensagens são entregues de maneira "round robin", com vários consumidores recebendo mensagens, mas cada mensagem é entregue a um consumidor.

  • Chave compartilhada: as mensagens são atribuídas a uma chave de mensagem, o que ajuda a correlacionar mensagens relacionadas. Mensagens com a mesma chave são enviadas aos consumidores em uma ordem específica.

Funcionalidades adicionais do Apache Pulsar

Outras funcionalidades notáveis do Pulsar incluem:

Balanceamento de carga de brokers: o PULSAR monitora o uso da CPU, memória e rede dos brokers do PULSAR e migra as cargas de trabalho conforme a necessidade para otimizar o equilíbrio e evitar sobrecarregar os brokers individuais.

Registro de esquema: o registro de esquema do Pulsar permite que os clientes do Pulsar carreguem esquemas de dados por tópico para garantir que produtores e consumidores usem formatos de mensagens compatíveis.

Bibliotecas de clientes: as bibliotecas de clientes são funções e procedimentos criados previamente que simplificam as interações entre aplicações e APIs, bancos de dados e serviços. O Pulsar é compatível com bibliotecas específicas de linguagens de programação (incluindo bibliotecas para Java, C++, Python e Node.js) e bibliotecas independentes de linguagens(REST e WebSocket).

Retenção de mensagens: os sistemas tradicionais excluem as mensagens depois de consumidas. O Pulsar permite que os usuários definam políticas de retenção para armazenar as mensagens mesmo após seu consumo, uma funcionalidade que pode ser compatível com modelos de arquitetura baseada em eventos.

Casos de uso do Apache Pulsar

Os casos de uso da Apache Software Foundation a seguir ajudam a ilustrar a utilidade e a versatilidade do Apache Pulsar.2

Consolidação de plataformas de mensagens

O Apache Pulsar frequentemente é a plataforma preferida quando as empresas decidem consolidar a tecnologia de mensagens, pois é compatível com vários casos de uso de mensagens (incluindo enfileiramento e streaming de mensagens) e multilocação, permitindo que várias equipes o utilizem da maneira que melhor as atenda.

Resiliência a falhas para aplicações de missão crítica

As empresas que buscam minimizar a chance de perda de dados de aplicações críticas (como transações financeiras) podem aproveitar o Apache Pulsar por suas funcionalidades de resiliência. Ou seja, as mensagens enviadas pelo Pulsar são replicadas para vários nós do BookKeeper. Além disso, as mensagens não se perdem mesmo quando o hardware falha.

Comunicação de microsserviços

O Apache Pulsar é compatível com a comunicação constante necessária entre microsserviços por meio de chamadas de APIs indiretas. Os serviços podem enviar mensagens para tópicos que outros serviços estão assinando. Embora outros sistemas de mensagens possam fornecer esse recurso, a escalabilidade horizontal do Pulsar o diferencia: a plataforma pode ser ampliada em minutos para acomodar grandes ingressos de solicitações.

Compatibilidade com filas de tarefas

Os sistemas de mensagens geralmente são compatíveis com filas de tarefas — sistemas que organizam a execução assíncrona de trabalhos em segundo plano sem prejudicar o desempenho de uma aplicação. O Apache Pulsar é compatível com sistemas de filas de tarefas por meio de sua assinatura compartilhada (que distribui mensagens para vários consumidores) e do recurso de confirmação de mensagem, que confirma a conclusão de uma tarefa.

Soluções relacionadas
Ferramentas e soluções de análise de dados

Para prosperar, as empresas devem utilizar os dados para conquistar a fidelidade do cliente, automatizar processos de negócios e inovar com soluções orientadas por IA.

Explore soluções de análise de dados
Serviços de consultoria de dados e análise de dados

Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights, que proporciona vantagem comercial.

Conheça os serviços de análise de dados
Análise de dados do IBM Cognos

Apresentamos o Cognos Analytics 12.0, insights impulsionados por IA para maior eficiácia na tomada de decisão.

Explore o IBM Cognos Analytics
Dê o próximo passo

Para prosperar, as empresas devem utilizar os dados para conquistar a fidelidade do cliente, automatizar processos de negócios e inovar com soluções orientadas por IA.

Explore soluções de análise de dados Conheça os serviços de análise de dados
Notas de rodapé

"Messaging." The Apache Software Foundation. Recuperado em 4 de agosto de 2025.

"Pulsar Use Cases." The Apache Software Foundation. Recuperado em 4 de agosto de 2025.