является ли playframework действительно асинхронным?

Лучший ответ находится в разделе комментариев (поэтому я не могу поставить им баллы за ответ :( ).

Мне интересно, является ли playframework асинхронным в этой моде (что было бы действительно асинхронным, или полностью асинхронным). Да, play является асинхронным на передней стороне, позволяя 1000 клиентов на 100 потоках, но на задней стороне, нет никакого способа достичь этого, или я ошибаюсь (на что я надеюсь) .....

public static void someRequest(String id) {

     //This method adds listener to a nio socket listener so it returns
     //IMMEDIATELY and page can't be rendered at this point
     fetchRemoteDataFromOtherSystem(id, new MyListener());

     // DO NOT RENDER PAGE YET but return so thread can be used for other requests
}

public class MyListener extends SomeListener {
    public void fireResponse(Response response) {
        renderPage(response);
    }
}

Обратите внимание, что это будет экстремальное асинхронное поведение, а также учтите, что если у вас есть бэкенд-система, которой требуется несколько секунд для ответа на каждый запрос, то для обслуживания того же количества пользователей вам потребуется примерно на 100 машин меньше. В обычных условиях, когда бэкенд-система работает очень быстро, разницы в производительности, конечно, не будет.

спасибо, Дин

8
задан SBerg413 27 September 2013 в 21:30
поделиться