Loi*_*oic 5 playframework playframework-2.0
我的Java Play2应用程序正在调用一些外部Web服务来通过同步第三方客户端库获取数据.对于这个应用程序,我需要高流量和可扩展性.
播放文档说:
您的代码可能阻止的情况包括:通过第三方客户端库使用REST/WebService API (即,不使用Play的异步WS API)[...]
请注意,您可能想要将您的阻止代码包装在Futures中.这不会使它成为非阻塞,它只是意味着阻塞将在不同的线程中发生[...]
相反,以下类型的IO不会阻塞: Play WS API,...
在Play2 Java应用程序中,使用promises使事情异步并不是很有用,因为默认的游戏池用于Futur任务.因此,使用大量Futur将导致与仅使用具有大型默认线程池的同步调用相同的事情:在同一池中大致相同数量的线程.
所以我的问题是:
非常感谢
卢瓦克
正如 Guillaume Bort 在 Play 邮件列表中所说,play.libs.WS API“有自己的线程池,由 AsyncHttp 库本身管理,但由于它在幕后使用 NIO,所以这并不重要,因为它基本上是真的非阻塞。”
因此应尽可能经常使用它。
| 归档时间: |
|
| 查看次数: |
414 次 |
| 最近记录: |