Cloud Tasks y Pub/Sub pueden usarse para implementar el envío de mensajes y la integración asíncrona, pero, aunque funcionan de manera similar, no son idénticos. En esta página, encontrarás ayuda a fin de elegir el producto correcto para tu caso práctico.
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 otorga control a los publicadores sobre la entrega de los mensajes, excepto la garantía de envío. De esta manera, Pub/Sub admite la invocación implícita: un publicador ocasiona, de forma implícita, que los suscriptores se ejecuten cuando publica 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 tareas y colas no disponibles para los publicadores de Pub/Sub, incluidas las siguientes:
- Cómo programar tiempos de entrega específicos
- Controles de frecuencia de entrega
- Reintentos configurables
- Acceso y administración de tareas individuales en una cola
- Anulación de duplicación de creación de tareas/mensajes
Comparación detallada de características
Característica | Cloud Tasks | Cloud Pub/Sub |
---|---|---|
Envío mediante webhooks | Sí | Sí |
Al menos una garantía de entrega | Sí | Sí |
Anulación de duplicación de creación de tareas | Sí | No |
Reintentos configurables | Sí | No |
Entrega programada | Sí | No |
Controles explícitos de frecuencia | Sí | No (los clientes suscriptores pueden implementar el control de flujo). |
Extracción mediante API | No | Sí |
Inserción por lotes | No | Sí |
Varios controladores/suscriptores por mensaje | No | Sí |
Retención de tareas/mensajes | 30 días | Hasta 7 días |
Tamaño máximo de la tarea o el mensaje | 100 KB | 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/suscripciones por proyecto | 1,000 por proyecto, con mayor disponibilidad mediante una solicitud de aumento de cuota | 10,000 por proyecto |