Mediante este documento, encontrarás ayuda para elegir el tipo adecuado de suscripción de Pub/Sub que se adapte a los requisitos de tu empresa.
Antes de comenzar
- Obtén más información sobre las suscripciones.
Tabla de comparación de suscripciones de Pub/Sub
En la siguiente tabla, se ofrece orientación para elegir el mecanismo de entrega adecuado para tu aplicación:
Funciones compatibles con las suscripciones a Pub/Sub | |
---|---|
Caso de uso |
Suscripción de extracción
|
Suscripción de envío
|
|
Exportar suscripción
|
|
Extremos |
Suscripción de extracción
Cualquier dispositivo en Internet que tenga credenciales autorizadas puede llamar a la API de Pub/Sub. |
Suscripción de envío
|
|
Exportar suscripción
|
|
Balanceo de cargas |
Suscripción de extracción
|
Suscripción de envío
Los extremos de envío pueden ser balanceadores de cargas. |
|
Exportar suscripción
El servicio de Pub/Sub balancea la carga automáticamente. |
|
Configuración |
Suscripción de extracción
No es necesaria la configuración. |
Suscripción de envío
|
|
Exportar suscripción
|
|
Control de flujo |
Suscripción de extracción
El cliente suscriptor controla la frecuencia de entrega. El suscriptor puede modificar de forma dinámica el plazo de confirmación de recepción, lo que permite que el procesamiento de mensajes sea arbitrariamente largo. |
Suscripción de envío
El servidor de Pub/Sub implementa el control de flujo de forma automática. No es necesario controlar el flujo de mensajes en el lado del cliente. Sin embargo, es posible indicar que el cliente no puede manejar la carga del mensaje actual pasando un error de HTTP. |
|
Exportar suscripción
El servidor de Pub/Sub implementa el control de flujo de forma automática para optimizar la escritura de mensajes en un recurso de Google Cloud. |
|
Eficiencia y capacidad de procesamiento |
Suscripción de extracción
Logra una alta capacidad de procesamiento con una CPU y un ancho de banda bajos, ya que permite la entrega por lotes, las confirmaciones y el consumo paralelo masivo. Puede resultar ineficiente si se usan sondeos agresivos para minimizar el tiempo de entrega de mensajes. |
Suscripción de envío
Envía un mensaje por solicitud y limita la cantidad máxima de mensajes pendientes. |
|
Exportar suscripción
Los servidores de Pub/Sub controlan la escalabilidad de forma dinámica. |
Cuándo usar una suscripción de exportación
Sin una suscripción de exportación, necesitas una suscripción de extracción o envío y un suscriptor (como Dataflow) para leer los mensajes y escribirlos en un recurso de Google Cloud. La sobrecarga de ejecutar un trabajo de Dataflow no es necesaria cuando los mensajes no requieren procesamiento adicional antes de almacenarse.
Exportar suscripciones tiene las siguientes ventajas:
Implementación simple. Puedes configurar una suscripción de exportación a través de un solo flujo de trabajo en la consola, Google Cloud CLI, la biblioteca cliente o la API de Pub/Sub.
Costos bajos. Reduce el costo y la latencia adicionales de canalizaciones de Pub/Sub similares que incluyen trabajos de Dataflow. Esta optimización de costos es útil para los sistemas de mensajería que no requieren procesamiento adicional antes del almacenamiento.
Supervisión mínima. Las suscripciones de exportación forman parte del servicio de Pub/Sub multiusuario y no requieren que ejecutes trabajos de supervisión separados.
Flexibilidad. Una suscripción a BigQuery puede usar el esquema del tema al que está adjunta, que no está disponible con la plantilla básica de Dataflow para escribir desde Pub/Sub a BigQuery. Del mismo modo, una suscripción a Cloud Storage ofrece opciones configurables de lotes de archivos basadas en el tamaño de archivo y el tiempo transcurrido, que no se pueden configurar en la plantilla básica de Dataflow para escribir desde Pub/Sub a Cloud Storage.
Sin embargo, se recomienda una canalización de Dataflow para los sistemas de Pub/Sub en los que se requiere cierta transformación de datos antes de que los datos se almacenen en un recurso de Google Cloud, como una tabla de BigQuery o un bucket de Cloud Storage.
Para aprender a transmitir datos de Pub/Sub a BigQuery con una transformación mediante Dataflow, consulta Transmisión de Pub/Sub a BigQuery.
Para aprender a transmitir datos de Pub/Sub a Cloud Storage con transformación mediante Dataflow, consulta Transmite mensajes de Pub/Sub con Dataflow.
¿Qué sigue?
Comprende el flujo de trabajo de cada tipo de suscripción: