Descripción general de los marcos para la orquestación de microservicios: Director, Zeebe, Temporal

La organización de microservicios le ayuda a crear procesos complejos en productos. Para no tener que escribir esta mecánica a mano, los desarrolladores pueden usar marcos prefabricados que incluyen herramientas para administrar microservicios. En True Engineering estudiamos este tema y hablamos de tres de estos marcos.





Al automatizar un proceso empresarial complejo, un producto puede involucrar varios microservicios a la vez. Y si es bastante simple construir la interacción de varios módulos en un monolito, entonces en una arquitectura distribuida, donde cada uno de estos componentes es una aplicación separada, surgen dificultades.





El orquestador de microservicios supervisa la ejecución de procesos. Como resultado, los datos no se pierden, es más fácil para el soporte solucionar problemas y es más fácil para los desarrolladores administrar el desarrollo de todo el sistema.





Puede escribir un módulo de este tipo desde cero o puede utilizar un marco ya hecho. Si una empresa tiene varios equipos de desarrollo, estos marcos son indispensables. Primero, los programadores no tienen que hacer el mismo trabajo una y otra vez. En segundo lugar, cuando todos usan herramientas comunes, los equipos tienen estándares de trabajo uniformes y esto afecta inmediatamente la calidad de los productos. En lugar de reinventar la rueda, todos se centran en desarrollar una herramienta común.





Arquitectura del marco de orquestación

El marco incluye componentes de orquestación listos para usar. Este es el propio orquestador, que acepta tareas y las transfiere a microservicios de trabajo para su ejecución.





(, ), , . « », « », « ». . , , .





, .





  • . , . , .





  • . . , - , , - . , Saga – , - .





  • . , .





  • . , (, Java .NET).





, . , .





Conductor Netflix. - JSON-. , . - – .





Zeebe Camunda. Camunda – BPMN-, (, -). Camunda, Zeebe . – , -. XML-.





Temporal. . – , . .





:





  • . Zeebe . Temporal – .





  • . , yj Zeebe . Saga .





  • . .





  • . Java-, .NET- .





La comparación muestra que no existe una fórmula mágica: cada marco es bueno a su manera. La herramienta debe seleccionarse en un cuadro de diálogo con comandos: alguien puede sentirse más cómodo trabajando con JSON, otro apreciará la visualización y el tercero querrá usar código limpio.





Pero cualquier marco es mejor que incrustar la orquestación en el código de cada producto por separado. De esta manera, los desarrolladores tienen que volver a profundizar en la mecánica y sobrecargar el código cada vez. Y en toda la empresa, obtendrá estándares uniformes que ayudarán a llevar a todos sus equipos a una plataforma de desarrollo común.








All Articles