0
Cadence Workflow
Cadence Workflow Engine fue desarrollado en Uber y de código abierto bajo licencia MIT.La diferencia entre Cadence y la mayoría de los motores de flujo de trabajo existentes es que está enfocado al desarrollador y es extremadamente flexible y escalable (a decenas de miles de actualizaciones por segundo y hasta miles de millones de flujos de trabajo abiertos).Los flujos de trabajo se escriben como programas orientados a objetos y el motor garantiza que el estado de los objetos de flujo de trabajo, incluidas las pilas de subprocesos y las variables locales, se conserve completamente en caso de fallas del host ... Cadence se usa para prácticamente cualquier aplicación de back-end que viva más allá de una solasolicitar respuestaEjemplos de uso son: trabajos CRON distribuidos Gestión de canalizaciones de datos / ML Reacción a eventos empresariales.Por ejemplo, eventos de viaje en Uber.El flujo de trabajo puede acumular estado en función de los eventos recibidos y ejecutar actividades cuando sea necesario.Implementación de servicios en Mesos / Kubernetes Implementación de canalización CI Asegurando que se completen múltiples llamadas de servicio cuando se recibe una solicitud.Incluyendo la implementación del patrón SAGA Gestión de tareas de trabajadores humanos (similar a Amazon MTurk) Procesamiento de medios Soporte al cliente Enrutamiento de tickets Procesamiento de pedidos Servicio de prueba similar a ChaosMonkey y muchos otros El otro conjunto de casos de uso se basa en la portabilidad de los motores de flujo de trabajo existentes para ejecutarse en Cadence.Prácticamente cualquier lenguaje de especificación de flujo de trabajo del motor existente puede ser portado para ejecutarse en Cadence.Hay varios sistemas internos de Uber que fueron portados.De esta manera, un único servicio de back-end puede alimentar múltiples sistemas de flujo de trabajo de dominio específico.