WSO2 ESB 4.7 SVN-Based Deployment Synchronizer

Actualmente estoy revisando la funcionalidad del sincronizador de implementación de SVN y me preguntaba si hay una forma de tener una instancia de ESB configurada de forma esclava. Verifique el repository de SVN periódicamente sin que esa instancia forme parte de un clúster.

Mi testing ha revelado que el esclavo ESB recogerá cualquier cambio en el repository SVN y realizará las implementaciones / anulaciones necesarias en el inicio del server incluso cuando este ESB no esté en un clúster.
Sin embargo, parece que el único mecanismo para invocar la synchronization SVN de un esclavo en el time de ejecución es un post de clúster del nodo de gestión.

Espero que haya una forma alternativa de conectarme a este process de synchronization, de forma remota si es posible. ¿Alguien sabe de uno?

Un repository SVN se usa internamente en DepSync basado en SVN, y la synchronization ocurre principalmente con las operaciones svn checkout / commit / update. Hacer una actualización SVN periódicamente en los nodos trabajador / esclavo puede poner un gran golpe de performance en el server SVN. Imagine que tiene 20 nodos de trabajadores que reciben actualizaciones cada 15 segundos para cada inquilino. Por lo tanto, los nodos de trabajador solo actualizan su repository cuando hay un cambio en los artefactos en el nodo de administrador. Usamos posts de clúster para comunicarnos entre gerentes y trabajadores, por lo que debemos configurar un clúster para eso.

Pero puede cumplir sus requisitos de una manera dependiente de la plataforma si está utilizando Deployment Synchronizer basado en SVN. En Linux, puede progtwigr un trabajo cron para progtwigr una tarea. Por lo tanto, puede crear un trabajo cron que actualice los nodos de trabajador periódicamente. Después de cron job updates, el repository cada minuto.

*/1 * * * * /home/kasun/update-wso2-worker-repos.sh 

 $ cat /home/kasun/update-wso2-worker-repos.sh #!/bin/sh svn update $CARBON_HOME/repository/deployment/server svn update $CARBON_HOME/repository/tenants/* 

Dep-Sync actualiza bajo demanda, no hace sondeos.

Un nodo esclavo haría un check-out cuando recibe un post específico del clúster, que es enviado por los nodos del administrador. Para recibir esos posts, todos los nodos deben estar en el mismo clúster.

Si un nodo específico en el clúster ha estado inactivo (no se ha iniciado) cuando se envió un post de clúster, se perdería esa actualización. Para superar eso, cada server actualiza su repository al inicio del server.

AFAIK, no se recomienda usar Dep-Sync sin un entorno agrupado. Por lo tanto, si sus nodos no están en el mismo clúster, deberá reiniciar otros serveres para actualizarlos.

El requisito natural de Dep-Sync es necesario cuando tienes una configuration en clúster.

HTH,

DarRay