Este documento tem como objetivo ajudar você a escolher entre o Pub/Sub e o Pub/Sub Lite. Para usar este documento, você precisa conhecer os conceitos básicos do Pub/Sub, como como tópicos e assinaturas. Se você ainda não conhece o Pub/Sub, 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 lidar com altos volumes dão suporte a grandes requisitos de armazenamento. O Pub/Sub geralmente é a solução padrão para a maioria dos casos de uso de análise e integração de aplicativos. Ele tem muitos recursos e é totalmente gerenciado. O Pub/Sub Lite é recomendado para aplicativos em que a capacidade de processamento das mensagens é mais estável, podem se beneficiar de um sistema baseado em partição, e o custo são uma grande preocupação.
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ções que troca a carga de trabalho operacional, a disponibilidade global e alguns recursos por custo-benefício. O Pub/Sub Lite exige que você reserve e gerencie manualmente os recursos de armazenamento. No Pub/Sub Lite, é possível escolher entre zonas tópicos regionais do Lite. Os tópicos regionais do Lite oferecem o mesmo SLA de disponibilidade que 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 dá suporte a instâncias replicação de dados e usa três zonas. Os tópicos regionais do Lite replicam dados para um na zona secundária. Os tópicos zonais Lite replicam dados em apenas uma zona.
Lista de verificação de requisitos comerciais
As perguntas a seguir podem ajudar você a escolher o Pub/Sub certo serviço de mensagens:
São confiabilidade, custo operacional mínimo e facilidade de desenvolvimento suas principais prioridades? Usar o Pub/Sub.
Você está disposto a incorrer em alguma sobrecarga operacional extra em termos de gerenciamento da capacidade do tópico, pode trabalhar com riscos de disponibilidade inerentes aos serviços de zona e exige baixo custo? Use tópicos do Lite zonal.
Você precisa de alguma proteção contra falhas nas zonas, quer incorrer em uma sobrecarga operacional adicional em termos de gerenciamento da capacidade do tópico e exige o menor custo por throughput? 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 |
Linguagens da biblioteca de cliente | Java, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP e ABAP | Java, Python e 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 "exatamente uma vez" | 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 zona dupla em uma única região |
Pedido de entrega | 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 para três zonas 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 regionais do Pub/Sub Lite replicam dados para duas zonas em uma região. Os tópicos zonais do Pub/Sub Lite armazenam dados em uma única zona em 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 se inscrever em todas as regiões e até mesmo fora do 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 dentro de uma região ou zona. Os assinantes precisam se conectar à instância do serviço na região em que o para determinar se o tópico está localizado. Por isso, editores e assinantes precisam manter a rede conectividade à mesma região para comunicação. Os editores podem publicar dados qualquer tópico de qualquer lugar, mas isso pode exigir conexão com uma região remota, adicionar latência de rede. Assinantes que precisam de dados agregados publicados em tópicos em diferentes locais devem se conectar a todas as instâncias de serviço local 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 zonais do Lite são recursos zonais. Esses os recursos precisam estar no mesmo projeto e zona do Cloud.
Os tópicos e as assinaturas regionais do Lite são recursos regionais. Esses recursos precisam estar no mesmo projeto e região do Cloud.
Para conferir uma lista de regiões e zonas compatíveis com o 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 é provisionada com reservas do Lite.
Modos de transferência
O Pub/Sub é compatível com vários modos de entrega de mensagens. Eles incluem pull (pesquisa tradicional), push (HTTPS POST), streaming pull (RPC bidirecional, para menor latência e maior eficiência) e pull por HTTP REST e gRPC.
O Pub/Sub Lite só é compatível com mensagens de pull gRPC em streaming entrega. 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:
- Pub/Sub: processamento de stream com o Dataflow
- Pub/Sub Lite: como usar o Pub/Sub Lite com o Dataflow