Este documento destina-se a ajudar a escolher entre o Pub/Sub e o Pub/Sub Lite. Este documento requer que esteja familiarizado com os conceitos básicos do Pub/Sub, como tópicos e subscrições. Se não tiver experiência com o Pub/Sub, leia primeiro o artigo O que é o Pub/Sub.
O Pub/Sub e o Pub/Sub Lite são serviços de mensagens geridos e escaláveis horizontalmente. Estes serviços podem processar um volume elevado e suportar grandes requisitos de armazenamento. Normalmente, o Pub/Sub é a solução predefinida para a maioria dos exemplos de utilização de integração de aplicações e de estatísticas. É rica em funcionalidades e totalmente gerida. O Pub/Sub Lite é recomendado para aplicações em que o débito de mensagens é mais estável, as cargas de trabalho podem beneficiar de um sistema baseado em partições e o custo é uma preocupação significativa.
O Pub/Sub oferece uma gama mais ampla de funcionalidades, paralelismo por mensagem, encaminhamento global e escalabilidade automática da capacidade de 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 equilibra a carga de trabalho operacional, a disponibilidade global e algumas funcionalidades em função da rentabilidade. O Pub/Sub Lite requer que reserve e faça a gestão manualmente da capacidade dos recursos. No Pub/Sub Lite, pode escolher tópicos Lite zonais ou regionais. Os tópicos Lite regionais oferecem o mesmo SLA de disponibilidade que os tópicos do Pub/Sub.
Tenha em atenção as diferenças de fiabilidade entre os dois serviços em termos de replicação de mensagens. O Pub/Sub suporta a replicação de dados síncrona e usa três zonas. Os tópicos Lite regionais replicam dados para uma zona secundária. Os tópicos Zonal Lite replicam dados apenas numa zona.
Lista de verificação dos requisitos comerciais
As seguintes perguntas podem ajudar a escolher o serviço de mensagens do Pub/Sub certo:
A fiabilidade, o custo operacional mínimo e a facilidade de desenvolvimento são as suas principais prioridades? Use o Pub/Sub.
Está disposto a incorrer em alguma sobrecarga operacional adicional em termos de gestão da capacidade de tópicos, pode trabalhar com riscos de disponibilidade inerentes aos serviços zonais e precisa de um custo baixo? Use tópicos Lite zonais.
Precisa de alguma proteção contra falhas zonais, está disposto a incorrer num custo operacional adicional em termos de gestão da capacidade de tópicos e precisa do custo por débito mais baixo? Use tópicos do Lite regionais.
Para saber mais sobre as diferenças de custos entre o Pub/Sub e o Pub/Sub Lite, consulte a página de preços.
Tabela de comparação de funcionalidades
Funcionalidade | Pub/Sub | Pub/Sub Lite |
---|---|---|
Transparência de acesso | Sim | Não |
Capacidade | Aprovisionado automaticamente | Aprovisione antes de usar |
Idiomas da biblioteca cliente | Java, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP, ABAP | Java, Python e Go |
Subscrições entre projetos | Sim | Não |
Chaves de encriptação geridas pelo cliente | Sim | Não |
Tópicos de mensagens não entregues | Sim | Não |
Entrega exatamente uma vez | Sim | Não |
Integrações | ||
Filtragem de mensagens | Sim para atributos de mensagens | Não |
Replicação de mensagens | Sim | Não |
Encaminhamento de mensagens | Global | Zonal ou regional |
Validação do esquema de mensagens | Sim | Não |
Várias zonas numa única região | Não | Zona única ou zona dupla numa única região |
Entrega pedida | Ordenação por chave | Ordenação por partição |
Acompanhamento de confirmações de mensagens | Por mensagem | Cursor por partição |
Preços | Pague pelo que usa | Pague pela capacidade que aprovisiona |
Pontos finais REST | Sim | Não |
Espaço de nomes do recurso | Global | Zonal ou regional |
Período de retenção | Até 31 dias | Ilimitado |
Pontos finais de serviço | Global e regional | Regional |
Armazenamento | Ilimitado | Ilimitado |
Subscrição |
Replicação de dados
Os tópicos do Pub/Sub replicam dados para três zonas numa região. Para mais informações sobre a replicação de dados do Pub/Sub, consulte o artigo Replicação de dados num tópico.
Os tópicos regionais do Pub/Sub Lite replicam dados em duas zonas numa região. Os tópicos zonais do Pub/Sub Lite armazenam dados numa única zona numa região. Para mais informações sobre a replicação de dados do Pub/Sub Lite, consulte o artigo Replicação de dados num tópico Lite.
Encaminhamento de mensagens
Tanto o Pub/Sub como o Pub/Sub Lite podem publicar e subscrever a partir de todas as regiões e até fora do Google Cloud.
O Pub/Sub encaminha mensagens globalmente. As aplicações alojadas em qualquer região podem publicar mensagens num único tópico. As mensagens são processadas na região mais próxima permitida pelas políticas da sua organização e encaminhadas para os subscritores independentemente da origem.
O Pub/Sub Lite encaminha mensagens numa região ou numa zona. Os subscritores têm de se ligar à instância do serviço na região onde o tópico está localizado. Como resultado, os publicadores e os subscritores têm de manter a conetividade de rede com a mesma região para comunicarem. As editoras podem publicar dados em qualquer tópico a partir de qualquer lugar, mas isto pode exigir a ligação a uma região remota, o que adiciona latência de rede. Os subscritores que precisam de dados agregados publicados em tópicos em diferentes localizações têm de se ligar a todas as instâncias de serviços locais relevantes para ler as mensagens.
Espaço de nomes do recurso
Os tópicos e as subscrições do Pub/Sub são recursos globais. O serviço 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 subscrição desse tópico podem ser armazenados em projetos diferentes, o que permite um controlo de acesso e faturação detalhado. Por último, os subscritores recebem os mesmos dados, independentemente do ponto final do serviço que usam para se ligarem ao Pub/Sub ou do ponto final do serviço usado pelo publicador dos dados.
Os tópicos e as subscrições do Zonal Lite são recursos zonais. Estes recursos têm de estar no mesmo projeto e zona do Google Cloud.
Os tópicos e as subscrições do Lite regionais são recursos regionais. Estes recursos têm de estar no mesmo projeto e região do Google Cloud.
Para ver uma lista de regiões e zonas suportadas pelo Pub/Sub Lite, consulte o artigo Localizações do Pub/Sub Lite.
Gestão da capacidade
O Pub/Sub é dimensionado automaticamente. A capacidade de publicação de mensagens é aprovisionada automaticamente, pelo que pode enviar e receber mensagens a qualquer taxa, até às quotas que configurar para o seu projeto.
O Pub/Sub Lite é aprovisionado manualmente. Tem de configurar o número de partições por tópico Lite. Também tem de aprovisionar o armazenamento e a capacidade de débito. A capacidade de débito pode ser aprovisionada através de reservas Lite.
Modos de fornecimento
O Pub/Sub suporta vários modos de entrega de mensagens. Estas incluem Pull (polling tradicional), Push (HTTPS POST), StreamingPull (RPC bidirecional, para a latência mais baixa e a eficiência mais elevada) e pull através de HTTP REST e gRPC.
O Pub/Sub Lite só suporta a entrega de mensagens de obtenção de gRPC por streaming. Para pedir mensagens, os subscritores estabelecem ligações de streaming bidirecionais com cada partição.
Paralelismo
O Pub/Sub usa o paralelismo por mensagem. Isto permite o processamento concorrente de qualquer número de mensagens, de um ou milhares de clientes para uma única subscrição.
O Pub/Sub Lite usa o paralelismo baseado em partições. Isto força um cliente a processar cada partição de dados por ordem linear numa única instância do cliente. Isto limita o número máximo de instâncias de cliente a, no máximo, o número de partições.
Pipelines de streaming
O Pub/Sub e o Pub/Sub Lite estão integrados com o Dataflow para o processamento de streams sem servidor e a integração de dados. O Pub/Sub permite que o Dataflow seja dimensionado de forma mais flexível e suporta o Dataflow SQL.
Para começar a usar o Dataflow e o Pub/Sub ou o Pub/Sub Lite, experimente estes tutoriais: