Saltar al contenido principal
Versión: 2.0

Modos de despliegue

Durable Workflow v2 tiene dos modos de despliegue:

  • Modo servicio: las aplicaciones y los workers se conectan mediante SDK a un entorno remoto. Elige Cloud o Server autogestionado.
  • Modo integrado: una aplicación Laravel instala durable-workflow/workflow y opera directamente el entorno.

Cloud y Server autogestionado son alternativas dentro del modo servicio. Cloud opera la orquestación, la persistencia y Managed Waterline. El cliente ejecuta sus aplicaciones y workers. En Cloud no instalas ni despliegas tu propio Server ni un servicio Waterline separado. Server autogestionado no incluye Waterline. Puedes desplegarlo por separado para observar un espacio de nombres gestionado por Server.

Usa esta página para elegir quién mantiene tus workflows o planificar un cambio de modelo. Los equipos Laravel pueden consultar la Guía de adopción y transición, incluido el puente Laravel del SDK PHP y su implementación de pruebas.

Elige un entorno en modo servicio​

EntornoQuién opera el estado duraderoQué ejecuta tu equipoPrimer paso
Durable Workflow CloudDurable Workflow opera la persistencia, las actualizaciones, el endpoint y Managed Waterline.Clientes y workers de PHP, Python o Rust con credenciales provisionadas.Entorno gestionado de Cloud
Server autogestionadoTu equipo despliega, protege, escala, respalda y actualiza Server y su persistencia.Server, clientes y workers. Waterline puede desplegarse como servicio separado.Server autogestionado

Ambos usan el mismo modelo de clientes y workers. Cambian la operación del entorno y las credenciales.

El mismo modelo duradero con distintas interfaces​

Los dos modos comparten el núcleo de v2. Cambian el alojamiento, la autenticación y el transporte. El modo servicio expone HTTP+JSON, sin gRPC obligatorio ni un segundo motor.

SuperficieModo integradoModo servicioContrato compartido
Estado duraderoLaravel aloja el paquete y su estado.Cloud o Server mantiene el estado detrás de la API.IDs de instancia y ejecución, historial tipado, resultados de comandos, reintentos, reparación y exportación.
Plano de controlCódigo de la aplicación, WorkflowStub o herramientas locales.API, CLI o SDK con autenticación y cabeceras de protocolo. PHP usa DurableWorkflow\Client de durable-workflow/sdk.Política de inicios duplicados, selección de ejecución, IDs de comandos y resultados. Los comandos posteriores van al entorno que aceptó el inicio.
WorkersWorkers de colas Laravel dentro de la aplicación.Registro, long polling, heartbeat y finalización por HTTP+JSON. PHP usa DurableWorkflow\Worker.Leases, compatibilidad, reproducción y actividades ejecutadas al menos una vez.
Despacho predeterminadoColas Laravel dentro de la aplicación.Despacho por polling para workers externos. Server permite cambiarlo explícitamente.Ciclo de disponibilidad, lease y reparación de tareas duraderas.
Tipos de workflow y actividadLos alias PHP pueden resolver clases locales.Los workers anuncian los tipos que admiten.Nombres públicos estables e independientes del lenguaje. Evita usar nombres completos de clases PHP como contrato público.
ObservaciónWaterline integrado lee el estado de Laravel.Cloud incluye Managed Waterline. Server admite un Waterline separado, además de API, CLI y SDK.Estado, atributos de búsqueda, memos, diagnósticos de colas e historial del entorno que posee la ejecución. Waterline no combina entornos ni espacios de nombres.
AutenticaciónLa aplicación Laravel controla rutas y sesiones.La selección de espacio de nombres y la autenticación de Server son obligatorias.Nombres de espacios, colas, marcas de compatibilidad y contrato Avro estable durante la transición.
ConexiónServicios internos o configuración de la aplicación.URL base remota explícita.No depender de APP_URL, APP_KEY, localhost ni compartir contenedor.
MigraciónLas ejecuciones existentes permanecen en su entorno.Las nuevas empiezan en el entorno elegido.No hay migración automática de ejecuciones activas. Exportar sirve para auditoría y diagnóstico, no para importar estado activo.

Cuándo elegir el modo integrado​

  • Tu aplicación Laravel reúne código, workers y acceso de operadores.
  • Sus colas y su autenticación son la interfaz adecuada.
  • Quieres un entorno autocontenido y no necesitas workers de otros lenguajes.
  • Tus operadores pueden usar Waterline integrado o las herramientas de la aplicación.

Empieza con Instalación integrada y la Documentación del modo integrado.

Cuándo elegir el modo servicio​

  • Varias aplicaciones o equipos comparten un entorno de workflows.
  • Los workers, clientes u operadores no usan todos Laravel/PHP.
  • Necesitas autenticación remota y espacios de nombres explícitos.
  • Quieres escalar por separado las API, el despacho y los workers mediante la Topología de roles de Server.
  • Quieres observar Server autogestionado con un Waterline separado. Cloud ya incluye Managed Waterline.

Para el servicio gestionado, empieza con Cloud. Para autogestión, consulta Server y Despliegues autogestionados. Elige después el SDK PHP, SDK Python o SDK Rust. Para un Waterline separado, consulta la API de Server y Monitorización.

Transición al modo servicio autogestionado​

La ruta admitida es una adopción gradual:

  • Sigue Migración del modo integrado a Server.
  • Comprueba la versión, topología y capacidades con GET /api/cluster/info.
  • Registra workers con POST /api/worker/register y verifica que ejecutan los nombres de tipos estables elegidos.
  • Antes de cambiar el tráfico, comprueba la cobertura de workers compatibles mediante GET /api/system/operator-metrics, dw worker:list o Waterline.
  • Consulta Capacidades de clientes y workers al sustituir llamadas locales por automatización remota.
  • Usa Waterline o la exportación del historial para auditoría y diagnóstico. Una exportación no importa ejecuciones activas en otro entorno.

Respeta estas tres reglas:

  1. Las ejecuciones existentes permanecen donde empezaron.
  2. Las nuevas usan nombres estables de tipos, espacios de nombres, colas y el contrato Avro desde el primer cambio de tráfico.
  3. Señales, consultas, actualizaciones, reparación, cancelación, terminación y archivo se dirigen al entorno que posee la ejecución.