Korzystanie z Akka do nawiązywania połączeń z usługą internetową z aplikacji Play

Jestem całkiem nowy w programowaniu z frameworkiem Play i Akką, chociaż czytam o nich już od jakiegoś czasu. Rozpoczynam teraz aplikację sprawdzającą koncepcję w domyślnym / podstawowym środowisku odtwarzania. Moje pytanie pochodzi z api klienta usług internetowych w Play (http://www.playframework.org/documentation/2.0.1/ScalaWS).

Ta aplikacja zasadniczo musi pośredniczyć w wywołaniach zdalnej usługi sieciowej SOAP w możliwie najbardziej skalowalny i wydajny sposób. Przeglądarka wykonuje wywołania ajax w JSON, aplikacja Play musi przekształcić je w SOAP / XML i odwrotnie w odpowiedzi.

Jeśli użyłem klienta usługi Web Play bezpośrednio przez kontroler, wywołania te mogą być asynchroniczne, co jest znacznie lepsze niż to, co robimy teraz (blokowanie). Nie jestem jednak pewien, jak to dokładnie będzie się zachowywać przy dużym obciążeniu. Czy współbieżność / zarządzanie wątkami pozostaną w dużej mierze na podstawowym serwerze Netty? Czy mam jakiś sposób, aby go dostroić?

Alternatywą byłoby użycie systemu aktorów Akka od kontrolerów, gdzie mogę kontrolować politykę routingu, wielkość puli, odporność na błędy itp. Jeśli zastosuję takie podejście, czy nadal byłoby sensowne używanie asynchronicznego klienta WS Play? Jeśli tak, czy takie podejście (komponowania Futures?) Byłoby zalecanym wzorem?

Innym czynnikiem, który sprawia, że ​​podejście Akki jest bardziej atrakcyjne, jest to, że aplikacja ta będzie miała kilka innych obowiązków, więc będziemy mogli kontrolować / dostrajać zasoby dozwolone w tym ActorSystem i zmniejszać ryzyko, że cała aplikacja zostanie przeciągnięta przez usługę SOAP.

questionAnswers(1)

yourAnswerToTheQuestion