Estamos considerando utilizar OSGi distribuido en nuestro entorno empresarial.
tendríamos la siguiente configuración:OSGi distribuido: ¿cuál es la forma correcta de administrar paquetes en todos los contenedores?
- 10 a 100 contenedores OSGi en muchos anfitriones ofrecen diversos servicios.
- Muchos de estos servicios son provistos por más de un contenedor.
- Algunos de estos servicios pueden requerir ser consistentes en todos los contenedores (la misma versión implementada).
¿Cuál es la forma correcta de administrar el ciclo de vida de los paquetes (instalar, iniciar, actualizar, detener, desinstalar) en todos los contenedores?
Varios requisitos:
- Dado que puede haber tantos contenedores, todos ellos deben ser manejados juntos; es decir, cuando estoy por actualizar un paquete, un solo comando debe actualizar todos los contenedores donde ese paquete ya está presente.
- Los comandos deben poder repetirse: primero realice un comando en los sistemas de prueba y luego repita exactamente el mismo comando en el sistema de producción una vez que se completen las pruebas.
Agradezco cualquier sugerencia con respecto a la pregunta anterior.
Saludos, Marton
¿Todos estos contenedores OSGi construyen un gran contenedor OSGi distribuido donde el servicio A en el host X puede usar el servicio B en el host Y tal como lo haría en el mismo host X? ¿o están separados el uno del otro y tienes solo 10-100 contenedores OSGi que deseas mantener? ¿y son todos iguales como 10-100 contenedores OSGi que tienen todos los mismos paquetes y quieres enviar un comando (como "instalar") a todos estos contenedores OSGi al mismo tiempo? ¿O son diferentes de que el host X tenga un contenedor OSGi con N paquetes y el contenedor OSGi en el host Y tenga un conjunto diferente de paquetes? – Progman
Este es un gran entorno OSGi distribuido: el servicio A en el host X puede usar el servicio B en el host Y. Cada contenedor puede tener un conjunto diferente de paquetes. ¡Gracias! –
Intentaré construir dicho sistema usando Apache Karaf (porque proporciona una manera fácil de automatizar comandos y una administración fácil de paquetes). Lo configuraré con una tienda de paquetes compartida, de modo que cada vez que actualice un paquete, todos los tiempos de ejecución lo recogerán. Karaf está diseñado para admitir la ejecución de comandos a partir de scripts, por lo que no debería ser difícil escribir los scripts necesarios, que administrarán el sistema. Sin embargo, no obtendrá transacciones distribuidas. En algún punto del tiempo, habría versiones incompatibles y no creo que haya una solución para esto actualmente. –