Algumas ou todas as informações nesta página podem não se aplicar à nuvem confiável da S3NS. Consulte
Diferenças do Google Cloud para mais detalhes.
Escolher um tipo de assinatura
Este documento ajuda você a escolher o tipo de assinatura do Pub/Sub
adequado aos requisitos de negócios.
Antes de começar
Tabela de comparação de assinaturas do Pub/Sub
A tabela a seguir oferece uma orientação para escolher o mecanismo de entrega adequado para seu aplicativo:
Recursos com suporte a assinaturas do Pub/Sub |
Caso de uso |
Assinatura de pull
- Grande volume de mensagens (GBs por segundo).
- A eficiência e a capacidade do processamento da mensagem são fundamentais.
- Ambientes em que não é viável configurar um ponto de extremidade HTTPS público com um certificado SSL não autoassinado.
|
Assinatura de push
- Vários tópicos que precisam ser processados pelo mesmo webhook.
- Assinantes do ambiente padrão do App Engine e do Cloud Run.
- Ambientes em que não é viável configurar as dependências do Trusted Cloud by S3NS , como
credenciais e a biblioteca de cliente.
|
Exportar assinatura
- Grande volume de mensagens que pode ser escalonado para vários
milhões por segundo.
- As mensagens são enviadas diretamente para um recurso Trusted Cloud
sem nenhum processamento adicional.
|
Endpoints |
Assinatura de pull
Qualquer dispositivo na Internet que tenha credenciais autorizadas pode
chamar a API Pub/Sub.
|
Assinatura de push
- Um servidor HTTPS com certificado não autoassinado acessível na
Web pública.
- O endpoint de recebimento pode ser separado da assinatura do Pub/Sub, para que as mensagens de várias assinaturas sejam enviadas para um único endpoint.
|
Exportar assinatura
- Um conjunto de dados e uma tabela do BigQuery para uma assinatura do BigQuery.
- Um bucket do Cloud Storage para uma assinatura do Cloud Storage.
|
Balanceamento de carga |
Assinatura de pull
- Vários assinantes podem fazer chamadas de pull para a mesma
assinatura "compartilhada".
- Cada assinante recebe um subconjunto de mensagens.
|
Assinatura de push
Os endpoints de push podem ser balanceadores de carga.
|
Exportar assinatura
O serviço Pub/Sub balanceia a carga automaticamente.
|
Configuração |
Assinatura de pull
Não é necessário configurar.
|
Assinatura de push
- Não é necessário configurar aplicativos do App Engine no mesmo projeto que o assinante.
- A verificação de endpoints de push não é necessária no
Trusted Cloud console.
- Os endpoints precisam ser acessíveis usando nomes DNS e ter certificados SSL instalados.
|
Exportar assinatura
- Um conjunto de dados e uma tabela do BigQuery precisam existir para a assinatura do BigQuery, configurada com as permissões adequadas.
- Um bucket do Cloud Storage precisa existir para a assinatura do Cloud Storage, configurada com as permissões adequadas.
|
Controle de fluxo |
Assinatura de pull
O cliente do assinante controla a taxa de entrega. O assinante
pode modificar dinamicamente o prazo de confirmação, o que permite
que o processamento da mensagem seja arbitrariamente longo.
|
Assinatura de push
O servidor do Pub/Sub implementa automaticamente o controle de fluxo. Não é necessário processar o fluxo de mensagens no lado do cliente.
No entanto, é possível indicar que o cliente não pode processar
a carga de mensagens atual com a transmissão de um erro HTTP.
|
Exportar assinatura
O servidor do Pub/Sub implementa automaticamente o controle de fluxo
para otimizar a gravação de mensagens em um recurso Trusted Cloud .
|
Eficiência e capacidade |
Assinatura de pull
Consegue alta capacidade com baixo uso de CPU e largura de banda. Para isso, permite
entrega em lote, confirmações e consumo massivo
paralelo. Pode não ser eficaz se a pesquisa agressiva for usada para
minimizar o tempo de entrega da mensagem.
|
Assinatura de push
Entrega uma mensagem por solicitação e limita o número máximo de
mensagens pendentes.
|
Exportar assinatura
A capacidade de escalonamento é processada dinamicamente pelos servidores do Pub/Sub.
|
Quando usar uma assinatura de exportação
Sem uma assinatura de exportação, você precisa de uma assinatura de pull ou push
e de um assinante (como o Dataflow) para
ler mensagens e gravá-las em um Trusted Cloud recurso.
O overhead de execução de um job do Dataflow não é
necessário quando as mensagens não
precisam de processamento adicional antes de serem armazenadas.
As assinaturas de exportação têm as seguintes vantagens:
Implantação simples. É possível configurar uma assinatura de exportação usando um
único fluxo de trabalho no console, na CLI Trusted Cloud by S3NS , na biblioteca de cliente
ou na API Pub/Sub.
Custos baixos. Reduz o custo e a latência adicionais de pipelines semelhantes do Pub/Sub que incluem jobs do Dataflow.
Essa otimização de custo é útil para sistemas de mensagens que não exigem
processamento adicional antes do armazenamento.
Monitoramento mínimo. As assinaturas de exportação fazem parte do serviço Pub/Sub
multiusuário e não exigem que você execute jobs de monitoramento
separados.
Flexibilidade. Uma assinatura do BigQuery pode usar o
esquema do tópico a que está anexada, que não está disponível com
o modelo básico do Dataflow para gravação do
Pub/Sub no BigQuery. Da mesma forma,
uma assinatura do Cloud Storage oferece opções de lote de arquivos configuráveis
com base no tamanho do arquivo e no tempo decorrido, que não são configuráveis no
modelo básico do Dataflow para gravação do
Pub/Sub no Cloud Storage.
No entanto, um pipeline do Dataflow ainda é
recomendado para sistemas do Pub/Sub em que alguma transformação
de dados é necessária antes que os dados sejam armazenados em um
recursoTrusted Cloud , como uma tabela do BigQuery ou
um bucket do Cloud Storage.
Para saber como transmitir dados do Pub/Sub para o BigQuery com transformação usando o Dataflow, consulte Transmitir dados do Pub/Sub para o BigQuery.
Para saber como fazer streaming de dados do Pub/Sub para o Cloud Storage com transformação usando o Dataflow, consulte Fazer streaming de mensagens do Pub/Sub usando o Dataflow.
A seguir
Entenda o fluxo de trabalho de cada tipo de assinatura:
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-17 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-17 UTC."],[],[],null,["# Choose a subscription type\n\nThis document helps you choose the appropriate type of Pub/Sub\nsubscription suited to your business requirements.\n\nBefore you begin\n----------------\n\n- Learn about [subscriptions](/pubsub/docs/subscription-overview).\n\nPub/Sub subscription comparison table\n-------------------------------------\n\nThe following table offers some guidance in choosing the appropriate delivery\nmechanism for your application:\n\nWhen to use an export subscription\n----------------------------------\n\nWithout an export subscription, you need a pull or push\nsubscription and a subscriber (such as Dataflow) to\nread messages and write them to a Google Cloud resource.\nThe overhead of running a Dataflow job is\nnot necessary when messages don't\nrequire additional processing before being stored.\n\nExport subscriptions have the following advantages:\n\n- **Simple deployment.** You can set up an export subscription through a\n single workflow in the console, Google Cloud CLI, client library,\n or Pub/Sub API.\n\n- **Low costs.** Reduces the additional cost and latency of similar\n Pub/Sub pipelines that include Dataflow jobs.\n This cost optimization is useful for messaging systems that don't require\n additional processing before storage.\n\n- **Minimal monitoring.** Export subscriptions are part of the multi-tenant\n Pub/Sub service and don't require you to run separate\n monitoring jobs.\n\n- **Flexibility**. A BigQuery subscription can use the\n schema of the topic to which it is attached, which is not available with\n the basic Dataflow template for writing from\n Pub/Sub to BigQuery. Similarly,\n a Cloud Storage subscription offers configurable file batching options\n based on file size and elapsed time, which are not configurable in the\n basic Dataflow template for writing from\n Pub/Sub to Cloud Storage.\n\nHowever, a Dataflow pipeline is still\nrecommended for Pub/Sub systems where some data\ntransformation is required before the data is stored in a\nGoogle Cloud resource such as a BigQuery table or\nCloud Storage bucket.\n\nTo learn how to stream data from Pub/Sub to\nBigQuery with transformation by using Dataflow,\nsee [Stream from Pub/Sub to BigQuery](/dataflow/docs/tutorials/dataflow-stream-to-bigquery).\n\nTo learn how to stream data from Pub/Sub to\nCloud Storage with transformation by using\nDataflow, see\n[Stream messages from Pub/Sub by using Dataflow](/pubsub/docs/stream-messages-dataflow).\n\nWhat's next\n-----------\n\nUnderstand the workflow for each subscription type:\n\n- [Pull](/pubsub/docs/pull)\n\n- [Push](/pubsub/docs/push)\n\n- [BigQuery](/pubsub/docs/bigquery)\n\n- [Cloud Storage](/pubsub/docs/cloudstorage)"]]