Vertx,Node或Play,以asynchronous方式调用多个Web服务

我正在开发一个项目,在这个项目中,我需要调用多个concurent Web服务(至less5个Web服务)asynchronous。 为此,该框架可以用于Vertx,节点或播放

谢谢

播放文档不太好。 如果你正在考虑用scala来实现,那么play可能是个不错的select,但是对于java来说,你可能不会发现它很好,因为在Java中不支持很less的东西(比如编写你自己的body parser,你需要使用scala)

Nodejs可以是一个不错的select,但是在nodej中利用所有的cpu核心是很难的。 有一个框架jxcore声称有这个解决scheme,但是,我没有使用它。

Vert.X IMO可以是一个很好的框架,它可以很好地利用所有的cpu核心,提供N个事件循环。 或者,如果您确实需要执行cpu密集型操作并且能够响应,则可以使用工作线程池。

在场上,开箱即用太多了。 节点js会很好,如果你可以减less一些时间来编写你自己的工具。

所有这些框架都可以使用。

免责声明:我在Play框架上工作。

鉴于Play的Scala传统,即使您正在使用Java,我们也提供Promises,以便您可以推理asynchronous调用的stream程,而不会遭受所谓的“callback – 地狱”。 你可能要考虑使用Node的诺言…我相信它们是可用的。 我认为Vert.x可能也提供了一些东西。 我不确定,但我不认为Node和vert.x提供了开箱即用的承诺。

您可能会发现此页面很有用: http : //www.playframework.com/documentation/2.2.x/ScalaWS

你可以在RxJava模块中使用vertx( https://github.com/vert-x/mod-rxvertx )。 无论如何,你可以结合你的asynchronous结果。 rxvertx模块支持EventBus,HttpServer,HttpClient,NetServer,NetClient和Timer的包装器。