¿Cómo pueden OSGi y Akka beneficiarse unos de otros? ¿Cómo se estructura esto?

Siguiendo mi bastantepregunta ilógica, pidiendo usar OSGio Akka, me informaron que los dos pueden usarse juntos y que cada uno resuelve un problema diferente. Podría usar OSGi para proporcionar modularidad y actualización, y Akka para brindar escalabilidad y rendimiento. Como no he experimentado mucho combinando OSGi y Akka, todavía tengo un par de preguntas.

¿Cómo se pueden usar OSGi y Akka juntos y beneficiarse unos de otros? ¿Cómo se estructura esto? ¿Todos sus actores residen en un paquete OSGi, cada uno recibe un paquete separado, existe una solución híbrida o no existe realmente una forma "correcta" de hacerlo?

Dividiría los componentes grandes en diferentes paquetes OSGi. Cada paquete existe de diferentes actores Akka. Cada paquete se puede escalar por separado entre sí en función de la carga en ese paquete. En cada paquete, el equilibrio de carga transparente se puede utilizar para distribuir la carga entre diferentes actores. ¿Sería esta una forma correcta y realista de hacer esto?

EDITAR

Pensamientos después de la implementación: ¡Se complementan claramente! Dividí mi aplicación en bloques grandes, que luego inyecté en partes de la aplicación usando Spring. Dentro de los grandes bloques solo utilicé Akka. Las puertas de los bloques son actores tipados. Para hacer mi sistema completamente asíncrono tuve que implementar alguna funcionalidad adicional. Así que no quedan llamadas de bloqueo, todos los métodos de interfaz deben devolver el tipo de vacío. No se pudo encontrar ninguna otra manera. Luego puede pasar un mensaje a través de la interfaz como un atributo que se transmite durante todo el viaje de la solicitud, que se registra en un "Servicio de respuesta" al comienzo de la solicitud. Al final, un objeto DeferredResult se devuelve correctamente o se devuelve un error / tiempo de espera.

Respuestas a la pregunta(1)

Su respuesta a la pregunta