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.
Boletim informativo do setor
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
O Apache Pulsar é compatível com quatro tipos diferentes de assinaturas1 para auxiliar os usuários a configurar padrões de mensagens:
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.
Os casos de uso da Apache Software Foundation a seguir ajudam a ilustrar a utilidade e a versatilidade do Apache Pulsar.2
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.
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.
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.
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.
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.
Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights, que proporciona vantagem comercial.
Apresentamos o Cognos Analytics 12.0, insights impulsionados por IA para maior eficiácia na tomada de decisão.
1 "Messaging." The Apache Software Foundation. Recuperado em 4 de agosto de 2025.
2 "Pulsar Use Cases." The Apache Software Foundation. Recuperado em 4 de agosto de 2025.