Escolher o Pub/Sub ou o Pub/Sub Lite

O objetivo deste documento é ajudar você a escolher entre o Pub/Sub e o Pub/Sub Lite. Para entender este documento, é necessário ter familiaridade com os conceitos básicos do Pub/Sub, como tópicos e assinaturas. Se você não tem experiência com o sistema, leia O que é o Pub/Sub primeiro.

O Pub/Sub e o Pub/Sub Lite são serviços de mensagens gerenciados e escalonáveis horizontalmente. Esses serviços podem processar alto volume e oferecer suporte a grandes requisitos de armazenamento. O Pub/Sub geralmente é a solução padrão para a maioria dos casos de uso de integração e análise de aplicativos. Ele é rico em recursos e totalmente gerenciado. O Pub/Sub Lite é recomendado para aplicativos em que a capacidade de processamento de mensagens é mais estável, as cargas de trabalho podem se beneficiar de um sistema baseado em partição e o custo é uma preocupação significativa.

O Pub/Sub oferece uma variedade maior de recursos, paralelismo por mensagem, roteamento global e escalonamento automático da capacidade dos recursos. Em termos de replicação de mensagens, o Pub/Sub garante a replicação síncrona.

O Pub/Sub Lite é uma solução baseada em partição que troca a carga de trabalho operacional, a disponibilidade global e alguns recursos por eficiência de custo. O Pub/Sub Lite exige que você reserve e gerencie manualmente a capacidade dos recursos. No Pub/Sub Lite, é possível escolher tópicos do Lite zonais ou regionais. Os tópicos do Lite regionais oferecem o mesmo SLA de disponibilidade que os tópicos do Pub/Sub.

Observe as diferenças de confiabilidade entre os dois serviços em termos de replicação de mensagens. O Pub/Sub oferece suporte à replicação síncrona de dados e usa três zonas. Os tópicos do Lite regionais replicam dados em uma zona secundária. Os tópicos do Lite zonais replicam dados em apenas uma zona.

Lista de verificação dos requisitos empresariais

As perguntas a seguir podem ajudar você a escolher o serviço de mensagens do Pub/Sub certo:

  • A confiabilidade, o custo operacional mínimo e a facilidade de desenvolvimento são suas principais prioridades? Use o Pub/Sub.

  • Você está disposto a incorrer em algum overhead operacional adicional em termos de gerenciamento da capacidade do tópico, pode trabalhar com riscos de disponibilidade inerentes aos serviços zonais e exige baixo custo? Use tópicos do Lite zonais.

  • Você precisa de alguma proteção contra falhas zonais, está disposto a incorrer em um overhead operacional adicional em termos de gerenciamento da capacidade do tópico e exige o menor custo por capacidade de processamento? Use tópicos do Lite regionais.

Para saber mais sobre as diferenças de custo entre o Pub/Sub e o Pub/Sub Lite, consulte a página de preços.

Tabela de comparação de recursos

Recurso Pub/Sub Pub/Sub Lite
Transparência no acesso Sim Não
Capacidade Aprovisionado automaticamente Provisionar antes de usar
Idiomas da biblioteca de cliente Java, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP, ABAP Java, Python, Go
Assinaturas entre projetos Sim Não
Chaves de criptografia gerenciadas pelo cliente Sim Não
Tópicos de mensagens inativas Sim Não
Entrega única Sim Não
Integrações
Filtragem de mensagens Sim para atributos de mensagem Não
Replicação de mensagens Sim Não
Roteamento de mensagens Global Zonal ou regional
Validação do esquema de mensagens Sim Não
Várias zonas em uma única região Não Zona única ou dupla em uma única região
Entrega ordenada Ordenação por chave Ordenação por partição
Rastreamento de confirmação de mensagens Por mensagem Cursor por partição
Preços Pague pelo que usar Pague pela capacidade que você provisiona
Endpoints REST Sim Não
Namespace de recursos Global Zonal ou regional
Período de armazenamento Até 31 dias Ilimitado
Endpoints de Serviço Global e regional Regional
Armazenamento Ilimitado Ilimitado
Assinatura

Replicação de dados

Os tópicos do Pub/Sub replicam dados em três zonas dentro de uma região. Para mais informações sobre a replicação de dados do Pub/Sub, consulte Replicação de dados em um tópico.

Os tópicos do Pub/Sub Lite regionais replicam dados em duas zonas dentro de uma região. Os tópicos do Pub/Sub Lite zonais armazenam dados em uma única zona dentro de uma região. Para mais informações sobre a replicação de dados do Pub/Sub Lite, consulte Replicação de dados em um tópico do Lite.

Roteamento de mensagens

O Pub/Sub e o Pub/Sub Lite podem publicar e assinar de todas as regiões e até mesmo de fora delas Google Cloud.

O Pub/Sub roteia mensagens globalmente. Aplicativos hospedados em qualquer região podem publicar mensagens em um único tópico. As mensagens são processadas na região mais próxima permitida pelas políticas da organização e encaminhadas aos assinantes independentemente da origem.

O Pub/Sub Lite encaminha mensagens em uma região ou zona. Os assinantes precisam se conectar à instância do serviço na região em que o tópico está localizado. Como resultado, os editores e assinantes precisam manter a conectividade de rede na mesma região de comunicação. Os editores podem publicar dados em qualquer tópico de qualquer lugar, mas isso pode exigir conexão a uma região remota, adicionando latência de rede. Os assinantes que precisam de dados agregados publicados em tópicos em diferentes locais precisam se conectar a todas as instâncias de serviço locais relevantes para ler as mensagens.

Namespace de recursos

Os tópicos e as assinaturas do Pub/Sub são recursos globais. O serviço do Pub/Sub pode armazenar mensagens em qualquer região permitida por uma política de armazenamento de tópicos. Além disso, um tópico e uma assinatura desse tópico podem ser armazenados em projetos diferentes, permitindo controle de acesso e faturamento detalhado. Por fim, os assinantes recebem os mesmos dados independentemente do endpoint de serviço usado para se conectar ao Pub/Sub ou de qual endpoint de serviço foi usado pelo editor dos dados.

Os tópicos e as assinaturas do Lite zonais são recursos zonais. Esses recursos precisam estar no mesmo projeto na nuvem e zona.

Os tópicos e as assinaturas do Lite regionais são recursos regionais. Esses recursos precisam estar no mesmo projeto na nuvem e região.

Para conferir uma lista de regiões e zonas com suporte do Pub/Sub Lite, consulte Locais do Pub/Sub Lite.

Gerenciamento de capacidade

O Pub/Sub é escalonado automaticamente. A capacidade de publicação de mensagens é provisionada automaticamente, de modo que você possa enviar e receber mensagens a qualquer taxa, até as cotas configuradas para o projeto.

O Pub/Sub Lite é provisionado manualmente. É preciso configurar o número de partições por tópico do Lite. Também é preciso provisionar capacidade de armazenamento e capacidade. A capacidade de processamento pode ser provisionada usando reservas do Lite.

Modos de transferência

O Pub/Sub é compatível com vários modos de entrega de mensagens. Entre eles estão incluem Pull (pesquisa tradicional), Push (HTTPS POST), StreamingPull (RPC bidirecional, para menor latência e maior eficiência) e pull de REST e gRPC HTTP.

O Pub/Sub Lite só é compatível com a entrega de mensagens pull de gRPC de streaming. Para solicitar mensagens, os assinantes estabelecem conexões de streaming bidirecionais com cada partição.

Paralelismo

O Pub/Sub usa o paralelismo por mensagem. Isso permite o processamento simultâneo de qualquer número de mensagens, de um ou milhares de clientes, para uma única assinatura.

O Pub/Sub Lite usa paralelismo baseado em partição. Isso força um cliente a processar cada partição de dados em ordem linear em uma única instância do cliente. Isso limita o número máximo de instâncias de cliente a no máximo o número de partições.

Pipelines de streaming

Tanto o Pub/Sub quanto o Pub/Sub Lite são integrados ao Dataflow para processamento de stream e integração de dados sem servidor. O Pub/Sub permite que o Dataflow seja escalonado de maneira mais flexível e compatível com o Dataflow SQL.

Para começar a usar o Dataflow e o Pub/Sub ou o Pub/Sub Lite, confira estes tutoriais: