Elige un tipo de suscripción

Este documento te ayuda a elegir el tipo adecuado de Pub/Sub suscripción adecuada a los requisitos de tu empresa.

Antes de comenzar

Tabla de comparación de suscripciones de Pub/Sub

En la siguiente tabla, encontrarás orientación para elegir la entrega adecuada mecanismo para tu aplicación:

Funciones compatibles con las suscripciones a Pub/Sub
Caso de uso Suscripción de extracción
  • Gran volumen de mensajes (GB por segundo)
  • La eficiencia y la capacidad de procesamiento del procesamiento de mensajes es fundamental.
  • Entornos en los que un extremo HTTPS público con un no es factible configurar un certificado SSL no autofirmado.
Suscripción de envío
  • Varios temas que debe procesar el mismo webhook
  • Suscriptores de funciones estándar de App Engine y Cloud Run.
  • Entornos en los que las dependencias de Google Cloud (como credenciales y la biblioteca cliente) no son fáciles de configurar.
Exportar suscripción
  • Gran volumen de mensajes que pueden escalar verticalmente a varios millones de mensajes por segundo.
  • Los mensajes se envían directamente a un recurso de Google Cloud sin procesamiento adicional.
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
  • Un servidor HTTPS con certificado no autofirmado accesible en la Web pública.
  • El extremo receptor puede separarse del a Pub/Sub, para que los mensajes de varios las suscripciones se envían a un único extremo.
Exporta una suscripción
  • Un conjunto de datos y una tabla de BigQuery para un suscripción a BigQuery.
  • Un bucket de Cloud Storage para un bucket de Cloud Storage suscripción.
Balanceo de cargas Suscripción de extracción
  • Varios suscriptores pueden realizar llamadas de extracción al mismo "compartido" suscripción.
  • Cada suscriptor recibe un subconjunto de mensajes.
Suscripción de envío

Los extremos de envío pueden ser balanceadores de cargas.

Exportar suscripción

El servicio de Pub/Sub equilibra automáticamente la carga.

Configuración Suscripción de extracción

No es necesaria la configuración.

Suscripción push
  • No se necesita ninguna configuración para las aplicaciones de App Engine en el mismo proyecto que el suscriptor.
  • No se requiere la verificación de extremos de envío en el Consola de Google Cloud
  • Los extremos deben ser accesibles con nombres de DNS y tener Se instalaron los certificados SSL.
Exportar suscripción
  • Un conjunto de datos y una tabla de BigQuery deben que existen para BigQuery suscripción, configurada con los permisos adecuados.
  • Debe existir un bucket de Cloud Storage para la Suscripción a Cloud Storage, configurada con los permisos adecuados.
Control de flujo Suscripción de extracción

El cliente suscriptor controla la frecuencia de entrega. El suscriptor puede modificar dinámicamente el plazo de confirmación que el procesamiento de mensajes sea arbitrariamente largo.

Suscripción de envío

El servidor de Pub/Sub implementa automáticamente el flujo control. 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 actual del mensaje pasando un error de HTTP.

Exportar suscripción

El servidor de Pub/Sub implementa automáticamente el control de flujo 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 CPU y ancho de banda bajos, ya que permite la entrega por lotes, las confirmaciones y los procesamientos consumo de energía. Si se usan sondeos agresivos para minimizar el tiempo de entrega de mensajes, puede resultar ineficiente.

Suscripción de envío

Envía un mensaje por solicitud y limita la cantidad máxima de mensajes pendientes.

Exportar suscripción

Pub/Sub controla la escalabilidad de forma dinámica. servidores.

Cuándo usar una suscripción de exportación

Sin una suscripción de exportación, necesitas una suscripción de extracción o de envío y un suscriptor (como Dataflow) para leer mensajes y escribirlos en un recurso de Google Cloud. La sobrecarga de ejecutar un trabajo de Dataflow es no es necesario cuando los mensajes no requerir procesamiento adicional antes de almacenarse.

Las suscripciones de exportación tienen las siguientes ventajas:

  • Implementación simple. Puedes configurar una suscripción de exportación a través de un flujo de trabajo único en la consola, Google Cloud CLI, la biblioteca cliente o la API de Pub/Sub.

  • Costos bajos. Reduce el costo adicional y la latencia de las arquitecturas Canalizaciones de Pub/Sub 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 modelo de Pub/Sub y no requieren que ejecutes comandos trabajos de supervisión.

  • Flexibilidad. Una suscripción a BigQuery puede usar el esquema del tema al que se adjuntó, que no está disponible con la plantilla básica de Dataflow para escribir desde de Pub/Sub a BigQuery. Del mismo modo, una suscripción a Cloud Storage ofrece opciones configurables de procesamiento por lotes de archivos según el tamaño del 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, una canalización de Dataflow se recomienda para sistemas de Pub/Sub en los que se pueden una transformación antes de que los datos se almacenen recurso de Google Cloud, como una tabla de BigQuery o bucket de Cloud Storage.

Para aprender a transmitir datos de Pub/Sub a BigQuery con transformación mediante Dataflow consulta Transmite de Pub/Sub a BigQuery.

Para aprender a transmitir datos de Pub/Sub a Cloud Storage con transformación mediante Dataflow, consulta Transmite mensajes desde Pub/Sub mediante Dataflow.

¿Qué sigue?

Comprende el flujo de trabajo para cada tipo de suscripción: