Migra de Pub/Sub Lite a Pub/Sub

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

Para migrar a Pub/Sub, usa la función de exportación de suscripción de Pub/Sub Lite. La función de exportación de suscripción convierte mensajes de Pub/Sub Lite en mensajes de Pub/Sub mediante un tipo de suscripción llamado suscripción de exportación.

Diferencias entre Pub/Sub Lite y Pub/Sub

Pub/Sub y Pub/Sub Lite son servicios de mensajería con escalamiento horizontal, pero cada uno tiene diferencias clave en su funcionamiento. Para comprender estas diferencias en detalle, consulta 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. Estas incluyen las siguientes consideraciones:

  • Localidad y replicación de datos
  • Modos de entrega
  • Paralelismo y ordenamiento
  • Volver a reproducir 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 datos en una zona secundaria dentro de la misma región. Los temas zonales de Pub/Sub Lite almacenan datos en una sola zona sin replicación.

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

Punto de migración clave

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

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

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

  • Si no especificas una política de almacenamiento de mensajes, Pub/Sub determina de forma automática 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 mensajes.

Modos de entrega

Punto de migración clave

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

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 el orden de los mensajes no está garantizado. Si tu aplicación requiere ordenamiento de mensajes, usa las claves de ordenamiento de Pub/Sub.

Cuando usas 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 sigan entregando en orden.

Para garantizar la compatibilidad con los mensajes de Pub/Sub, verifica que tus claves de Pub/Sub Lite solo contengan 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 ordenamiento de 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.

Volver a reproducir y borrar definitivamente

  • Pub/Sub Lite. Pub/Sub Lite admite la función seek sin necesidad de configuración adicional.

  • Pub/Sub. Pub/Sub admite la función de búsqueda, pero requiere una configuración adicional para configurarla.

Punto de migración clave

Para habilitar la función de búsqueda, Pub/Sub requiere que establezcas de forma explícita la configuración tanto en el tema como en la suscripción.

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

Establecer esta configuración es fundamental si necesitas la paridad exacta con Pub/Sub Lite o si la migración requiere volver a reproducir o borrar los mensajes definitivamente. Sin importar tus requisitos específicos, la capacidad de buscar y volver a procesar mensajes es una protección valiosa durante una migración por fases. Habilita 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 mediante la configuración de la capacidad de almacenamiento y de capacidad de procesamiento con las reservas de Pub/Sub Lite.

  • Pub/Sub. Pub/Sub está completamente administrado y escala automáticamente.

Punto de migración clave

Cuando haces la transición a Pub/Sub, puedes administrar la capacidad y los precios mediante la configuración de anulaciones de cuota o la solicitud de un cambio de cuota para los recursos de Pub/Sub.

El motivo principal para administrar la capacidad de Pub/Sub es cumplir con estrictos requisitos de costos. Si no tienes límites de costo estrictos, Pub/Sub puede administrar los 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 etapas. Adoptar un enfoque por fases te permite actualizar, probar y supervisar tu migración de forma iterativa, lo que minimiza el riesgo de errores y tiempo de inactividad.

Antes de comenzar

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

Flujo de trabajo de migración por etapas

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

  1. Crea los temas relevantes de Pub/Sub y una suscripción a ellos.
  2. Crea una suscripción de exportación a Pub/Sub Lite.
  3. Suscribirse a suscripciones de Pub/Sub y Pub/Sub Lite.
  4. Actualiza de forma gradual los publicadores para que envíen mensajes al tema de Pub/Sub en lugar de al tema de Pub/Sub Lite.
  5. Verifica que la carga de trabajo migrada funcione según lo previsto.
  6. Desactivar 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 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 cualquier mensaje que no se migre de forma correcta a Pub/Sub. Esto te permite solucionar errores, identificar la causa raíz de las fallas de exportación y reenviar mensajes con errores 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 mensajes del tema de Pub/Sub Lite al tema de Pub/Sub correspondiente. En lugar de configurar 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, los temas de Pub/Sub Lite y Pub/Sub reciben los mismos mensajes desde el momento 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 la interrupción de tus aplicaciones existentes de Pub/Sub Lite.

Suscripción doble a temas de Pub/Sub Lite y Pub/Sub

En un entorno de desarrollo, actualiza los clientes suscriptores para que lean los mensajes directamente desde los temas de Pub/Sub mediante 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 (extracción y envío), así que elige el que mejor se adapte a los requisitos de tu aplicación.

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

  • En un sistema con varias aplicaciones para consumidores, migra de forma gradual cada aplicación, una por una. Para cada aplicación de suscriptor, ejecuta el suscriptor de Pub/Sub Lite y el suscriptor nuevo de Pub/Sub en paralelo, de modo que puedas verificar el comportamiento y el rendimiento del suscriptor nuevo. Supervisa de cerca a ambos suscriptores para garantizar la coherencia en la entrega de mensajes, el manejo de errores y la funcionalidad general. Una vez que todos los suscriptores se migren y validen de forma correcta, retira del servicio de los clientes suscriptores de Pub/Sub Lite antiguos.

Actualizar publicadores

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

Desactiva Pub/Sub Lite

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

¿Qué sigue?