注意: 不幸的是,这个问题已经closures了,但是我试图保持它,如果有其他人同时提出了同样的问题。 我一直在寻找一个很好的解决scheme来开发一个位于移动设备和现有Web服务之间的Scala服务。 目前可行的选项列表如下: 欺骗 喷雾 蓝眼睛 阿卡 Play2 Mini 未经过滤 电梯 抽烟 了Scalatra 那里可能有更多的select。 如何决定使用哪一个? 什么是一个好的Scala中间件select的特点(原谅双关语 – )。 一方面,我想去Akka,因为它是TypeSafe Scala栈的一部分,但是另一方面,像Finagle这样的库有一套丰富的库,使pipe道工程变得如此简单。 喷雾看起来不错,使用简单。 任何build议,见解或经验将不胜感激。 我相信有人在那里一定有一些他们不会介意分享的经验。 更新: 我很想重新打开这个问题。 这个问题的一个很好的答案将帮助新的Scalateers避免相关的陷阱。 更新2: 这是我自问这个问题后的经历: Finagle – 我使用Finagle进行一个项目,它坚如磐石。 喷雾 – 在我最近的项目中,我使用喷雾,我非常高兴。 最新版本build立在Akka 2上,您可以使用Spray-can库直接运行,无需使用Web服务器。 喷雾是一套库,而不是一个框架,是非常模块化的。 学习喷雾:Akkavideo中的REST提供了一个很好的概述, Cakesolutions的这个博客展示了一个非常好的开发方法和架构。 更新3: 生活移动得很快。 如果你偶尔停下来看看,你可能会想念它。 – Ferris Bueller 现在select变得更简单了。 在我的愚见中,斯普雷赢得了这场战斗。 它被整合到Akka成为下一个Akka HTTP。 我现在已经在多个项目上使用Spray,可以诚实地说,这是我遇到过的梦幻般和最好的支持软件。 这并没有回答最初的问题,但至less给了一些迹象说明为什么Spray在大多数情况下似乎是最好的select。 它非常灵活,非阻塞,非常稳定。 它有客户端和服务器端的库以及一个很好的testing工具。 另外,看看这些统计数据来获得性能的一个主意: […]