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

Esta página fornece detalhes para ajudar você a escolher entre o Pub/Sub e o Pub/Sub Lite. O Pub/Sub e o Pub/Sub Lite são serviços de mensagens assíncronas. Para mais informações sobre mensagens de publicação/assinatura, consulte a visão geral do Pub/Sub.

O Pub/Sub é um serviço totalmente gerenciado e de alta disponibilidade que replica mensagens em várias zonas. O Pub/Sub destina-se à maioria dos casos de uso.

Para minimizar o custo de sistemas com padrões de tráfego previsíveis, use o Pub/Sub Lite. Se você publicar 1 MiB-1 GiB de mensagens por segundo, o Pub/Sub Lite poderá ser uma ordem de magnitude mais barata. Por exemplo, se você publicou e recebeu 2,5 TiB/mês de dados e mensagens armazenadas por 24 horas (84 GiB/mês de capacidade de armazenamento), o custo do Pub/Sub Lite seria de US $30/mês em comparação com US $200/mo com o Pub/Sub. Isso é uma economia de 85%. Para atingir essas economias, o Pub/Sub Lite usa armazenamento zonal e capacidade pré-provisionada.

Para mais informações sobre a diferença de custo entre o Pub/Sub e o Pub/Sub Lite, consulte os preços do Pub/Sub Lite.

Tabela de comparação

A tabela a seguir compara as principais diferenças entre o Pub/Sub e o Pub/Sub Lite:

Recurso Pub/Sub Pub/Sub Lite
Replicação de mensagens Várias zonas em uma única região Única zona
Capacidade Aprovisionado automaticamente Provisionar antes de usar
Preço Pague pela capacidade que você usa Pague pela capacidade que você provisiona
Storage Ilimitado 30 GiB-10 TiB por tópico do Lite
Tempo de retenção Até sete dias Ilimitado
Endpoints de Serviço Global e regional Discos
Namespace de recursos Global Zona
Roteamento de mensagens Global Zona

Pub/Sub

Em um sistema do Pub/Sub, os aplicativos do editor enviam mensagens para tópicos, e os aplicativos dos assinantes recebem mensagens das assinaturas. Tópicos e assinaturas são recursos globais, portanto, podem estar em projetos diferentes do Cloud.

Se um tópico e uma assinatura estiverem em projetos diferentes, serão aplicadas diferentes cotas e os editores e assinantes serão cobrados de maneira independente. Para mais detalhes, consulte o preço do Pub/Sub.

O Pub/Sub é escalonado automaticamente. Qualquer número de editores e assinantes pode enviar e receber qualquer quantidade de mensagens. O serviço Pub/Sub pode armazenar mensagens em qualquer região.

Os assinantes podem solicitar mensagens do Pub/Sub ou ele pode iniciar solicitações. Os seguintes produtos do Google Cloud podem autenticar automaticamente solicitações do Pub/Sub:

  • App Engine
  • Cloud Functions
  • Cloud Run

Pipelines de streaming

Para ler ou gravar mensagens em pipelines do Apache Beam, use os modelos de streaming do Dataflow ou a E/S do Pub/Sub para o SDK do Apache Beam. A E/S do Pub/Sub está disponível no SDK do Apache Beam para Java e no SDK do Apache Beam para Python (links em inglês).

Pub/Sub Lite

Em um sistema Pub/Sub Lite, os editores enviam mensagens para tópicos do Lite e os assinantes recebem mensagens de assinaturas do Lite. Os tópicos e assinaturas do Lite são recursos zonais que precisam estar no mesmo projeto e zona do Cloud. Para ver uma lista de zonas compatíveis com o Pub/Sub Lite, consulte Locais do Pub/Sub Lite.

Se você executar um editor ou assinante no Google Cloud, o aplicativo poderá ser executado em um projeto do Cloud diferente do projeto do Cloud em que estão o tópico do Lite e a assinatura do Lite.

Os tópicos do Lite consistem em partições; uma partição é um registro de mensagens. Os editores atribuem cada mensagem a uma partição, e o serviço Pub/Sub Lite anexa cada mensagem ao registro. O serviço Pub/Sub Lite entrega as mensagens de uma partição em ordem.

Os assinantes precisam solicitar mensagens do Pub/Sub Lite. Para solicitar mensagens, os assinantes estabelecem conexões de streaming bidirecionais a cada uma das partições.

Você provisiona manualmente a capacidade de publicar, receber e armazenar mensagens em tópicos do Lite. Ao criar um tópico do Lite, especifique o número de partições e o armazenamento por partição. Para aumentar a capacidade de um tópico do Lite, escalone a capacidade das partições.

Pipelines de streaming

Para ler e gravar mensagens nos pipelines do Apache Beam, é possível usar o conector de E/S do Pub/Sub Lite com a biblioteca de cliente Java do Pub/Sub Lite (em inglês).

Para ler e gravar mensagens, você também pode usar o conector de E/S do Pub/Sub Lite com o SDK do Apache Beam para Java (em inglês). Verifique o status atual desse conector de E/S no JIRA.

Atualmente, esses conectores de E/S do Pub/Sub Lite são experimentais e podem fazer alterações incompatíveis com versões anteriores.