Como escolher o Pub/Sub ou o Pub/Sub Lite

O Pub/Sub e o Pub/Sub Lite são serviços de mensagens gerenciadas e escalonáveis horizontalmente. O Pub/Sub geralmente é a solução padrão para a maioria dos casos de uso de integração e análise de aplicativos. O Pub/Sub Lite é recomendado apenas para aplicativos em que alcançar um custo extremamente baixo justifica algum trabalho operacional extra.

O Pub/Sub oferece uma ampla variedade de recursos, paralelismo por mensagem, roteamento global e capacidade automática 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 econômica que troca carga de trabalho operacional, disponibilidade e recursos para eficiência de custos. O Pub/Sub Lite exige que você reserve e gerencie manualmente a capacidade dos recursos. No Pub/Sub Lite, é possível escolher tópicos zonais ou regionais. Os tópicos regionais oferecem o mesmo SLA de disponibilidade que os tópicos do Pub/Sub. No entanto, existem diferenças de confiabilidade entre os dois serviços em termos de replicação de mensagens.

O Pub/Sub é compatível com a replicação de dados síncrona e usa três zonas. O Pub/Sub garante a replicação síncrona para, pelo menos, duas zonas, e a melhor replicação de melhor esforço para uma terceira zona. O Pub/Sub Lite é compatível com replicação de dados assíncrona. Os tópicos do Regional Lite replicam dados para uma zona secundária. Os tópicos do Zonal Lite replicam dados em apenas uma zona.

Lista de verificação dos requisitos de negócios

Com as perguntas a seguir, você pode escolher o serviço de mensagens ideal do Pub/Sub:

  • Suas principais prioridades são no que diz respeito a confiabilidade, custo operacional mínimo e facilidade no desenvolvimento? Use o Cloud Pub/Sub.

  • Você precisa do menor custo por capacidade, está disposto a gerar mais despesas operacionais com o gerenciamento da capacidade do tópico e pode trabalhar com riscos de disponibilidade inerentes aos serviços zonais? Use tópicos do Lite.

  • Você precisa do menor custo por capacidade, alguma proteção contra falhas zonais e está disposto a gerar mais sobrecarga operacional em termos de gerenciamento da capacidade do tópico? Use tópicos regionais.

Exemplo de cenário de preços

Imagine um sistema que publica e assina 10 MiBps (equivalente a 600 MiB por minuto ou 25 TiB por mês).

Veja a seguir a lista de faturamento de amostra na América do Norte para diferentes configurações do Pub/Sub. Os custos do Pub/Sub são baseados no uso. Os custos de capacidade do Pub/Sub Lite são baseados na capacidade provisionada. Neste exemplo, considera-se que a proporção da capacidade real para a capacidade provisionada, ou utilização, é de 50%. Além disso, presume-se que o armazenamento do Pub/Sub Lite esteja configurado para 24 horas.

  • No Pub/Sub, o custo é de US $2.000 por mês.
  • No Pub/Sub Lite com tópicos por zona, o custo é de US $169 por mês.
  • No Pub/Sub Lite com tópicos regionais, o custo é de US $608 por mês.

O exemplo anterior é uma amostra simplificada de um modelo de faturamento. Leia mais sobre as diferenças de custo entre o Pub/Sub e o Pub/Sub Lite.

Tabela de comparação de recursos

Recurso Pub/Sub Pub/Sub Lite
API SUBSCRIPTION Leases por mensagem, sem partições Partições ordenadas com deslocamentos usados para rastrear o progresso
Replicação de mensagens Várias zonas em uma única região
  • nica zona para tópicos zonais do Lite.
  • Zona dupla em uma única região para tópicos regionais.
Capacidade Aprovisionado automaticamente Provisionar antes de usar
Preços Pague pelo que usar Pague pela capacidade que você provisiona
Armazenamento Ilimitado 30 GiB-10 TiB por tópico do Lite
Período de armazenamento Até 31 dias Ilimitado
Endpoints de Serviço Global e regional Regional
Namespace de recursos Global
  • Zonal para tópicos zonais no Lite.
  • Regional para tópicos regionais.
Roteamento de mensagens Global
  • Zonal para tópicos zonais no Lite.
  • Regional para tópicos regionais.

Roteamento de mensagens

O Pub/Sub e o Pub/Sub Lite podem publicar e assinar de 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 para os 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 para 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 locais diferentes precisam 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 um controle refinado do faturamento e do acesso. 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 Lite são recursos zonais. Esses recursos precisam estar no mesmo projeto e zona do Cloud.

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

Para ver 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. Entre eles estão Pull (pesquisa tradicional), Push (POST HTTPS), StreamingPull (RPC bidirecional), para menor latência e maior eficiência, e pull de HTTP REST e gRPC.

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 bidirecional 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: