Использование Akka для вызовов веб-сервисов из приложения Play

Я новичок в программировании с помощью Play framework, а также Akka, хотя некоторое время читал о них. Сейчас я начинаю проверку -из -концептуального приложения в стандартной/базовой среде Play. Мой вопрос связан с API-интерфейсом клиента веб-сервиса в Play (http://www.playframework.org/documentation/2.0.1/ScalaWS)..

Это приложение в основном должно выполнять вызовы удаленной веб-службы SOAP максимально масштабируемым и производительным способом. Браузер выполняет вызовы ajax в формате JSON, приложению Play необходимо преобразовать их в SOAP/XML и наоборот в ответ.

Если бы я использовал клиент веб-сервиса воспроизведения напрямую через контроллер, эти вызовы могли бы быть асинхронными, что намного лучше, чем то, что мы делаем сейчас (блокируя ). Однако мне не ясно, как именно это будет вести себя при большой нагрузке. Будет ли управление параллелизмом/потоками -в значительной степени оставлено базовому серверу Netty? Есть ли у меня способ настроить его?

Альтернативой может быть использование системы акторов Akka из контроллеров, где я могу управлять политикой маршрутизации, размером пула, отказоустойчивостью -и т. д. Если я выберу этот подход, имеет ли смысл использовать асинхронный WS-клиент Play? Если да, подойдет ли такой подход (к составлению фьючерсов? )рекомендуемый шаблон?

Еще один фактор, который, кажется, делает подход Akka более привлекательным, заключается в том, что у этого приложения в конечном итоге будет несколько других обязанностей, поэтому мы могли бы контролировать/настраивать ресурсы, разрешенные для этой ActorSystem, и снижать риск того, что все приложение будет перетащено службой SOAP.

10
задан anchormath 27 June 2012 в 07:18
поделиться