Como o OSGi e o Akka podem se beneficiar um do outro? Como isso é estruturado?

Continuando a minha vezpergunta ilógica, pedindo para usar o OSGiou Akka, fui informado de que os dois podem ser usados ​​juntos e que cada um deles resolve um problema diferente. Eu poderia usar o OSGi para fornecer modularidade e atualização, e o Akka para fornecer escalabilidade e desempenho. Como não houve muitas experiências com a combinação de OSGi e Akka, ainda tenho algumas perguntas.

Como o OSGi e o Akka podem ser usados ​​juntos e se beneficiar uns dos outros? Como isso é estruturado? Todos os seus atores residem em um pacote OSGi, cada um deles tem um pacote separado, existe uma solução híbrida ou não existe realmente uma maneira "certa" de fazer isso?

Eu dividiria os componentes grandes em diferentes pacotes do OSGi. Cada pacote existe de diferentes atores Akka. Cada pacote pode então ser escalado separadamente um do outro em função da carga naquele pacote. Em cada pacote, o balanceamento de carga transparente pode ser usado para distribuir a carga por diferentes atores. Esta seria uma maneira correta e realista de fazer isso?

EDITAR

Pensamentos após a implementação: Eles se complementam claramente! Eu dividi meu aplicativo em grandes blocos, que depois injetei em partes do aplicativo usando o Spring. Dentro dos grandes blocos eu usei apenas Akka. Os portões para os blocos são Atores digitados. Para tornar meu sistema completamente assíncrono, tive que implementar algumas funcionalidades extras. Portanto, nenhuma chamada de bloqueio permanece, todos os métodos de interface devem retornar o tipo void. Não foi possível encontrar outro jeito. Você pode então passar uma mensagem pela interface como um atributo que é transportado por toda a jornada da solicitação, que é registrada em um "Respondente" no início da solicitação. No final, um objeto DeferredResult é retornado com sucesso ou um erro / tempo limite é retornado.

questionAnswers(1)

yourAnswerToTheQuestion