Como escolher entre Cloud Tasks e Cloud Pub/Sub

Tanto o Cloud Tasks quanto o Cloud Pub/Sub podem ser usados para implementar o envio de mensagens e a integração assíncrona. Embora semelhantes, eles foram projetados para diferentes grupos de casos de uso. Nesta página, você encontra informações úteis para escolher o produto certo para seu caso de uso.

Principais diferenças

A maior diferença entre o Cloud Pub/Sub e o Cloud Tasks é a noção de invocação implícita versus explícita.

O Cloud Pub/Sub tem como objetivo dissociar os editores de eventos dos assinantes desses eventos. Os editores não precisam saber nada sobre os assinantes. Com o Cloud Pub/Sub, os editores não têm controle sobre a entrega das mensagens, apenas a garantia de entrega. Dessa forma, ele é compatível com a invocação implícita: ao publicar um evento, o editor implicitamente faz com que os assinantes executem.

Já o Cloud Tasks trabalha com a invocação explícita, em que o editor tem o controle total da execução. Nesse caso, o editor especifica o endpoint em que cada mensagem será entregue.

No geral, o Cloud Tasks é adequado a casos de uso em que um produtor de tarefas precise adiar ou controlar o tempo de execução de um webhook específico ou de uma chamada de procedimento remoto. O Cloud Pub/Sub é ideal para padrões de ingestão e distribuição de dados de eventos mais gerais, em que o controle sobre a execução é reduzido.

Comparação detalhada dos recursos

Recurso Cloud Tasks Cloud Pub/Sub
Push por meio de webhooks Sim Sim
Garantia de no mínimo uma entrega Sim Sim
Eliminação de duplicação na criação de tarefas Sim Não
Tentativas configuráveis Sim Não
Entrega programada Sim Não
Controles de taxa explícita Sim Não (os assinantes podem implementar o controle de fluxo)
Pull via API Não Sim
Inserção de lote Não Sim
Múltiplos gerenciadores/assinantes por mensagem Não Sim
Retenção de tarefa/mensagens 30 dias Até sete dias
Tamanho máximo da tarefa/mensagem 100 KB 10 MB
Taxa de entrega máxima 500 qps/fila Nenhum limite superior
Disponibilidade geográfica Regional Global
Duração máxima de processamento do gerenciador de push/assinante 30 minutos (HTTP)
10 minutos (escalonamento automático do ambiente padrão do App Engine)
24 horas (dimensionamento manual ou básico do ambiente padrão do App Engine)
60 minutos (ambiente flexível do App Engine)
10 minutos para operações de push
Número de filas/assinaturas por projeto 100/projeto, mais disponível via solicitação de aumento de cota 10.000/projeto
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Pub/Sub