Migra de Pub/Sub Lite a Pub/Sub

En este documento, se proporciona información para migrar tus aplicaciones y datos de Pub/Sub Lite a Pub/Sub.

Para migrar a Pub/Sub, usa la función exportar suscripción de Pub/Sub Lite. La función de suscripción de exportación convierte los mensajes de Pub/Sub Lite en mensajes de Pub/Sub con un tipo de suscripción llamada suscripción de exportación.

Diferencias entre Pub/Sub Lite y Pub/Sub

Pub/Sub y Pub/Sub Lite son servicios de mensajería escalables de forma horizontal, pero cada uno tiene diferencias clave en su funcionamiento. Para comprender estas diferencias en detalle, lee Elige Pub/Sub o Pub/Sub Lite.

En las siguientes secciones, se describen algunas de las diferencias clave entre cada servicio que son relevantes cuando se migra entre servicios. Entre estas, se incluyen las siguientes consideraciones:

  • Localidad y replicación de datos
  • Modos de entrega
  • Paralelismo y ordenamiento
  • Repetir y borrar definitivamente
  • Administración de la capacidad y precios

Localidad y replicación de datos

  • Pub/Sub Lite. Los temas regionales de Pub/Sub Lite replican los datos en una zona secundaria dentro de la misma región. Los temas de Pub/Sub Lite zonales almacenan datos en una sola zona sin replicación.

  • Pub/Sub. Pub/Sub replica los datos en tres zonas dentro de una región.

Punto de migración clave

Es importante comprender cómo cada servicio replica los datos de forma diferente.

Cuando usas Pub/Sub, puedes asegurarte de que tus datos se almacenen en las regiones preferidas con las políticas de almacenamiento de mensajes de Pub/Sub.

  • Pub/Sub no proporciona control sobre las zonas específicas en las que se almacenan los mensajes. En su lugar, siempre replica los datos en tres zonas dentro de una región, como lo establece la política de almacenamiento de mensajes.

  • Si no especificas una política de almacenamiento de mensajes, Pub/Sub determina automáticamente dónde se almacenan los mensajes según tu política de la organización de restricción de ubicación de recursos. Si no estableces una política de la organización de forma explícita, Pub/Sub permite todas las regiones y selecciona automáticamente una para almacenar los mensajes.

Modos de entrega

Punto de migración clave

Si deseas replicar el comportamiento de Pub/Sub Lite en Pub/Sub (por ejemplo, baja latencia y alta eficiencia), implementa tus clientes consumidores con la API de StreamingPull. Como alternativa, puedes implementar tu suscripción a Pub/Sub con otros modos de entrega disponibles, como la entrega push.

Paralelismo y ordenamiento

  • Pub/Sub Lite. Pub/Sub Lite admite el paralelismo por partición.

  • Pub/Sub. Pub/Sub admite el paralelismo por mensaje.

Punto de migración clave

Pub/Sub no es una solución basada en particiones. Los mensajes de Pub/Sub también se pueden procesar de forma simultánea, lo que significa que no se garantiza el orden de los mensajes. Si tu aplicación requiere el orden de los mensajes, usa las claves de ordenamiento de Pub/Sub.

Cuando se usa la suscripción de exportación en Pub/Sub Lite, la clave de Pub/Sub Lite se usa como la clave de ordenamiento en el mensaje de Pub/Sub. Esto garantiza que los mensajes se sigan entregando en orden.

Para garantizar la compatibilidad con los mensajes de Pub/Sub, verifica que tus claves de Pub/Sub Lite contengan solo caracteres codificados en UTF-8.

  • Las claves de Pub/Sub Lite se almacenan como bytes.
  • Las claves de ordenamiento de Pub/Sub se almacenan como cadenas.

Las claves de ordenamiento de Pub/Sub tienen una capacidad de procesamiento máxima del publicador de 1 MBps. El orden de los mensajes en Pub/Sub solo se garantiza dentro de una sola región. Para recibir mensajes ordenados en Pub/Sub, debes habilitar explícitamente el ordenamiento de mensajes en la configuración de la suscripción.

Repetir y borrar definitivamente

  • Pub/Sub Lite. Pub/Sub Lite admite la función de saltos sin requerir configuración adicional.

  • Pub/Sub. Pub/Sub admite la función de salto, pero requiere configuración adicional para configurarla.

Punto de migración clave

Para habilitar la función de salto, Pub/Sub requiere que configures de forma explícita la configuración en el tema y la suscripción.

  • Tema: Debes configurar una duración de retención de mensajes
  • Suscripción: Debes configurar una retención de mensajes confirmados.

Configurar estos parámetros es fundamental si necesitas paridad exacta con Pub/Sub Lite o si tu migración requiere la repetición o eliminación de mensajes. Independientemente de tus requisitos específicos, la capacidad de buscar y volver a procesar mensajes es una protección valiosa durante una migración por fases. Permite la reversión y minimiza la pérdida de datos si surgen problemas inesperados.

Administración de la capacidad y precios

  • Pub/Sub Lite. La capacidad de Pub/Sub Lite se aprovisiona de forma manual configurando la capacidad de almacenamiento y procesamiento con las reservas de Pub/Sub Lite.

  • Pub/Sub. Pub/Sub se administra por completo y se escala automáticamente.

Punto de migración clave

Cuando realices la transición a Pub/Sub, puedes administrar la capacidad y los precios configurando anulaciones de cuotas o solicitando un cambio de cuota para tus recursos de Pub/Sub.

El motivo principal para administrar la capacidad de Pub/Sub es cumplir con requisitos de costo estrictos. Si no tienes límites de costos estrictos, Pub/Sub puede administrar recursos de manera eficiente sin mucha intervención. Pub/Sub se factura en función del uso. Para obtener información detallada, consulta Precios de Pub/Sub.

Planifica una migración

Para migrar de Pub/Sub Lite a Pub/Sub, puedes usar la función de suscripción de exportación de Pub/Sub Lite. La suscripción de exportación te permite migrar tu aplicación de Pub/Sub Lite en fases. Adoptar un enfoque por fases te permite actualizar, probar y supervisar la migración de forma iterativa, lo que minimiza el riesgo de errores y tiempo de inactividad.

Antes de comenzar

  • Evalúa tu aplicación existente de Pub/Sub Lite y planifica las funciones de Pub/Sub correspondientes que necesitas.
  • Asegúrate de que Pub/Sub cumpla con todos tus requisitos funcionales y empresariales.

Flujo de trabajo de migración por fases

En los siguientes pasos, se proporciona una descripción general del flujo de trabajo de migración de suscripciones de exportación.

  1. Crea los temas y la suscripción pertinentes a Pub/Sub.
  2. Crea una suscripción de exportación de Pub/Sub Lite.
  3. Suscribirte a Pub/Sub y a Pub/Sub Lite
  4. Actualiza gradualmente los publicadores para que envíen mensajes al tema de Pub/Sub en lugar del tema de Pub/Sub Lite.
  5. Verifica que la carga de trabajo migrada funcione según lo previsto.
  6. Desactiva los publicadores y suscriptores de Pub/Sub Lite.

Fases de migración

En las siguientes secciones, se proporcionan detalles sobre cada paso del flujo de trabajo de migración por fases.

Crea temas y suscripciones de Pub/Sub

Crea un tema de Pub/Sub correspondiente y su suscripción. En esta fase, debes configurar los temas y la configuración de las suscripciones necesarios, como las políticas de retención, confirmación y almacenamiento de mensajes.

Si es necesario, establece y configura cuotas para evitar el uso excesivo y la facturación inesperada. Lo más importante es que te recomendamos que configures un tema de mensajes no entregados de Pub/Sub Lite para capturar los mensajes que no se migren correctamente a Pub/Sub. Esto te permite solucionar problemas, identificar la causa raíz de los errores de exportación y volver a enviar los mensajes que fallaron al tema correcto, lo que garantiza que no se pierdan datos.

Crea suscripciones de exportación de Pub/Sub Lite

Para cada tema, crea una suscripción de exportación de Pub/Sub Lite para exportar los mensajes del tema de Pub/Sub Lite al tema de Pub/Sub correspondiente. En lugar de establecer la capacidad de procesamiento de forma individual para cada suscripción de exportación, usa una reserva de Pub/Sub Lite para administrar de forma eficiente la capacidad de procesamiento de todas tus suscripciones de exportación de forma colectiva. Al final de esta fase, tus temas de Pub/Sub Lite y Pub/Sub reciben los mismos mensajes desde el punto en que se crearon las suscripciones de exportación.

Luego, puedes usar los temas de Pub/Sub para desarrollar y probar de forma incremental tus clientes suscriptores en fases aisladas. Este enfoque minimiza las interrupciones en tus aplicaciones existentes de Pub/Sub Lite.

Cómo suscribirse a Pub/Sub Lite y temas de Pub/Sub

En un entorno de desarrollo, actualiza tus clientes suscriptores para que lean mensajes directamente desde los temas de Pub/Sub con la biblioteca cliente de Pub/Sub adecuada. A diferencia de Pub/Sub Lite, Pub/Sub ofrece varias. A diferencia de Pub/Sub Lite, Pub/Sub ofrece varios modos de entrega (pull y push), por lo que debes elegir el que mejor se adapte a los requisitos de tu aplicación.

  • Para emular el mismo comportamiento que Pub/Sub Lite, configura tu instancia de Pub/Sub con la API de StreamingPull.

  • En un sistema con varias aplicaciones para consumidores, migra gradualmente cada aplicación una por una. Para cada aplicación de suscriptor, ejecuta el suscriptor de Pub/Sub Lite y el nuevo suscriptor de Pub/Sub en paralelo, de modo que puedas verificar el comportamiento y el rendimiento del nuevo suscriptor. Supervisa de cerca a ambos suscriptores para garantizar la coherencia de la entrega de mensajes, el manejo de errores y la funcionalidad general. Después de migrar y validar correctamente todos los suscriptores, da de baja los clientes de suscriptores de Pub/Sub Lite anteriores.

Actualiza los publicadores

Después de que todos tus suscriptores consuman correctamente los mensajes de Pub/Sub, puedes actualizar gradualmente tus publicadores para que envíen mensajes directamente a los temas de Pub/Sub. Para ello, actualiza tus publicadores para que usen las bibliotecas cliente de Pub/Sub. Esto garantiza que puedas transferir el tráfico de Pub/Sub Lite a Pub/Sub de forma gradual.

Cómo inhabilitar Pub/Sub Lite

Después de migrar correctamente todos tus suscriptores y publicadores a Pub/Sub, puedes cerrar tus recursos de Pub/Sub Lite. Esto te ayuda a evitar incurrir en costos innecesarios por la infraestructura sin usar.

¿Qué sigue?