Elige Cloud Tasks o Pub/Sub

Es posible que se usen Cloud Tasks y Pub/Sub para implementar el envío de mensajes y la integración asíncrona, pero, si bien funcionan de forma similar, no son idénticos. En esta página, encontrarás ayuda a fin de elegir el producto adecuado para tu caso de uso.

Diferencias clave

La diferencia principal entre Cloud Tasks y Pub/Sub es la noción de invocación implícita o explícita.

Pub/Sub tiene como objetivo separar a los publicadores de eventos y a quienes se suscriben a ellos. Los publicadores no necesitan información sobre sus suscriptores. Como resultado, Pub/Sub no brinda a los publicadores control sobre la entrega de los mensajes guardados para garantizar la entrega. De esta manera, Pub/Sub admite la invocación implícita: un publicador hace que los suscriptores se ejecuten de forma implícita mediante la publicación de un evento.

Por el contrario, Cloud Tasks se centra en la invocación explícita, en la que el publicador posee el control total de la ejecución. En particular, un publicador especifica un extremo en el que se entregará cada mensaje.

Además, Cloud Tasks proporciona herramientas para la administración de colas y tareas que no están disponibles para los publicadores de Pub/Sub, incluidas las siguientes:

  • Cómo programar tiempos de entrega específicos
  • Controles de la velocidad de entrega
  • Reintentos configurables
  • Acceso y administración de tareas individuales en una cola
  • Anulación de duplicación de creación de tareas o mensajes

Comparación detallada de características

Atributo Cloud Tasks Cloud Pub/Sub
Envío mediante webhooks
Al menos una garantía de entrega
Anulación de duplicación de creación de tareas No
Reintentos configurables No
Entrega programada No
Controles explícitos de frecuencia No (los clientes suscriptores pueden implementar el control de flujo).
Extracción mediante API No
Inserción por lotes No
Varios controladores/suscriptores por mensaje No
Retención de tareas/mensajes 30 días Hasta 7 días
Tamaño máximo de la tarea o el mensaje 1 MB 10 MB
Frecuencia máxima de envío 500 QPS por cola Sin límite máximo
Disponibilidad geográfica Regional Global
Duración máxima de procesamiento del controlador/suscriptor de envío 30 minutos (HTTP)
10 minutos (ajuste de escala automático estándar de App Engine)
24 horas (ajuste de escala manual o básico de entorno estándar de App Engine)
60 minutos (entorno flexible de App Engine)
10 minutos para operaciones de envío
Cantidad de colas y suscripciones por proyecto 1,000 por proyecto, con mayor disponibilidad mediante una solicitud de aumento de cuota 10,000 por proyecto