Este documento ajuda a escolher o tipo adequado de subscrição do Pub/Sub adequado aos requisitos da sua empresa.
Antes de começar
- Saiba mais acerca das subscrições.
Tabela de comparação de subscrições do Pub/Sub
A tabela seguinte oferece algumas orientações para escolher o mecanismo de entrega adequado para a sua aplicação:
Funcionalidades suportadas pelas subscrições do Pub/Sub | |
---|---|
Exemplo de utilização |
Extrair subscrição
|
Subscrição Push
|
|
Exportar subscrição
|
|
Pontos finais |
Extraia a subscrição
Qualquer dispositivo na Internet que tenha credenciais autorizadas pode chamar a API Pub/Sub. |
Subscrição Push
|
|
Exportar subscrição
|
|
Balanceamento de carga |
Extrair subscrição
|
Subscrição de push
Os pontos finais de envio podem ser balanceadores de carga. |
|
Exporte a subscrição
O serviço Pub/Sub equilibra automaticamente a carga. |
|
Configuração |
Extraia a subscrição
Não é necessária configuração. |
Subscrição Push
|
|
Exportar subscrição
|
|
Controlo do fluxo |
Extraia a subscrição
O cliente subscritor controla a taxa de entrega. O subscritor pode modificar dinamicamente o prazo de confirmação, permitindo que o processamento de mensagens seja arbitrariamente longo. |
Subscrição de push
O servidor do Pub/Sub implementa automaticamente o controlo 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 consegue processar o carregamento da mensagem atual devolvendo um erro HTTP. |
|
Exporte a subscrição
O servidor Pub/Sub implementa automaticamente o controlo de fluxo para otimizar a escrita de mensagens num Google Cloud recurso. |
|
Eficiência e taxa de transferência |
Extraia a subscrição
Alcança um débito elevado com uma CPU e uma largura de banda baixas, permitindo o fornecimento em lote, as confirmações e o consumo massivamente paralelo. Pode ser ineficiente se a sondagem agressiva for usada para minimizar o tempo de entrega de mensagens. |
Subscrição de push
Envia uma mensagem por pedido e limita o número máximo de mensagens pendentes. |
|
Exporte a subscrição
A escalabilidade é processada dinamicamente pelos servidores do Pub/Sub. |
Quando usar uma subscrição de exportação
Sem uma subscrição de exportação, precisa de uma subscrição de obtenção ou envio e um subscritor (como o Dataflow) para ler mensagens e escrevê-las num Google Cloud recurso. A sobrecarga da execução de uma tarefa do Dataflow não é necessária quando as mensagens não requerem processamento adicional antes de serem armazenadas.
A exportação de subscrições tem as seguintes vantagens:
Implementação simples. Pode configurar uma subscrição de exportação através de um único fluxo de trabalho na consola, na Google Cloud CLI, na biblioteca de cliente ou na API Pub/Sub.
Custos baixos. Reduz o custo adicional e a latência de pipelines do Pub/Sub semelhantes que incluem tarefas do Dataflow. Esta otimização de custos é útil para sistemas de mensagens que não requerem processamento adicional antes do armazenamento.
Monitorização mínima. As subscrições de exportação fazem parte do serviço Pub/Sub multiinquilino e não requerem a execução de tarefas de monitorização separadas.
Flexibilidade. Uma subscrição do BigQuery pode usar o esquema do tópico ao qual está anexada, que não está disponível com o modelo básico do Dataflow para escrever do Pub/Sub para o BigQuery. Da mesma forma, uma subscrição do Cloud Storage oferece opções de processamento em lote de ficheiros configuráveis com base no tamanho do ficheiro e no tempo decorrido, que não são configuráveis no modelo básico do Dataflow para escrever do Pub/Sub para o Cloud Storage.
No entanto, continua a ser recomendado um pipeline do Dataflow para sistemas Pub/Sub onde é necessária alguma transformação de dados antes de os dados serem armazenados numGoogle Cloud recurso, como uma tabela do BigQuery ou um contentor do Cloud Storage.
Para saber como fazer stream de dados do Pub/Sub para o BigQuery com transformação através do Dataflow, consulte o artigo Fazer stream do Pub/Sub para o BigQuery.
Para saber como fazer streaming de dados do Pub/Sub para o Cloud Storage com transformação através do Dataflow, consulte o artigo Fazer streaming de mensagens do Pub/Sub através do Dataflow.
O que se segue?
Compreenda o fluxo de trabalho para cada tipo de subscrição: