我正在开发一个项目,在这个项目中我需要异步调用多个concurent Web服务(至少5个webservice)。 为此,whcih框架可以使用Vertx,node或Play
谢谢
答案 0 :(得分:2)
在游戏中,开箱即用的工作太多了。如果你可以浪费一些时间来编写自己的工具,节点js会很好。
答案 1 :(得分:2)
可以使用所有这些框架。
免责声明:我在Play框架上工作。
考虑到Play的Scala传统,即使您使用的是Java,我们也会提供Promise,以便您可以在不遭受所谓的“回调地狱”的情况下推断制作异步调用的流程。你可能想考虑使用Node的promises ...我相信它们是可用的。我认为Vert.x也可以提供一些东西。我不确定,但我不相信Node和vert.x提供开箱即用的承诺。
您可能会发现此页面非常有用:http://www.playframework.com/documentation/2.2.x/ScalaWS
答案 2 :(得分:0)
您可以将vertx与RxJava模块(https://github.com/vert-x/mod-rxvertx)一起使用。无论如何,您都可以将异步结果组合在一起。 rxvertx模块支持EventBus,HttpServer,HttpClient,NetServer,NetClient和Timer的包装器。
答案 3 :(得分:0)
播放文档不太好。如果你想在scala中实现play可能是个不错的选择,但对于java你可能找不到它那么好,因为Java中不支持很少的东西(例如编写你自己的身体解析器你需要使用scala)
Nodejs可能是一个不错的选择,但是在使用所有cpu核心的nodejs中很难。有一个框架jxcore声称有一个解决方案,但是,我没有使用它。
Vert.X IMO可以是一个很好的框架,它可以很好地利用所有cpu核心,提供N个事件循环。 (可选)如果您确实需要进行cpu密集型操作并具有响应能力,则可以使用工作线程池。