最佳答案在评论部分(所以我无法给出答案点数:().
我想知道playframework是否以这种方式异步(这将是真正的异步,或完全异步).是的,前端的play是异步的,允许100个线程上的1000个客户端,但是在后端,没有办法实现这一点,或者我错了(我希望是这样).....
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);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这将是极端异步行为,并且还要注意,如果您的后端系统需要几秒钟来响应每个请求,那么现在需要大约100台机器来为相同数量的用户提供服务.在后端系统速度非常快的正常环境中,当然没有性能差异.
谢谢,迪恩
| 归档时间: |
|
| 查看次数: |
2166 次 |
| 最近记录: |