W jaki sposób OSGi i Akka mogą czerpać korzyści z siebie nawzajem? Jak to jest zorganizowane?

Kontynuuję mojąnielogiczne pytanie, prosząc o użycie OSGilub Akka, powiedziano mi, że oba mogą być używane razem i że każdy rozwiązuje inny problem. Mogłem używać OSGi, aby zapewnić modułowość i możliwość aktualizacji, a Akka - skalowalność i wydajność. Ponieważ nie było zbyt wiele eksperymentowania z łączeniem OSGi i Akka, wciąż mam kilka pytań.

W jaki sposób OSGi i Akka mogą być używane razem i czerpać z siebie korzyści? Jak to jest zorganizowane? Czy wszyscy twoi aktorzy mieszkają w jednym pakiecie OSGi, czy każdy z nich otrzymuje osobny pakiet, czy istnieje rozwiązanie hybrydowe, czy też nie jest to naprawdę „właściwy” sposób?

Podzieliłem duże elementy w różnych pakietach OSGi. Każdy pakiet istnieje od różnych aktorów Akka. Każdy pakiet może być następnie skalowany oddzielnie od siebie w zależności od obciążenia tego pakietu. W każdym pakiecie można wykorzystać przezroczyste równoważenie obciążenia, aby rozłożyć obciążenie na różne podmioty. Czy byłby to prawidłowy i realistyczny sposób?

EDYTOWAĆ

Myśli po wdrożeniu: One wyraźnie się uzupełniają! Aplikację podzieliłem na duże bloki, które następnie wstawiłem do części aplikacji za pomocą Springa. Wewnątrz dużych bloków korzystałem wyłącznie z Akki. Bramy do bloków to Aktorzy Wpisani. Aby mój system był całkowicie asynchroniczny, musiałem wdrożyć dodatkową funkcjonalność. Zatem żadne wywołania blokujące nie pozostają wszystkie metody interfejsu powinny zwracać typ pustki. Nie mogłem znaleźć innego sposobu. Następnie możesz przekazać wiadomość przez interfejs jako atrybut, który zostanie przeniesiony na całą podróż żądania, która zostanie zarejestrowana w „Responderze” na początku żądania. Na koniec obiekt DeferredResult zostanie pomyślnie zwrócony lub zostanie zwrócony błąd / limit czasu.

questionAnswers(1)

yourAnswerToTheQuestion