您建议使用哪个Scala框架来构建带有Cassandra后端的REST API?

时间:2016-05-29 23:40:31

标签: scala rest api cassandra nosql

我想在Scala中使用Cassandra后端构建REST API,但由于有许多可用的框架,而且有些框架对NoSQL数据库有限制,我想知道更好的框架选择是什么。

2 个答案:

答案 0 :(得分:4)

您不应该将框架用于简单的REST API。太大,太多开销。但是大多数框架都导出了他们的JSON库:

喷雾:https://github.com/spray/spray-json

提升:https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/

播放:https://www.playframework.com/documentation/2.0/ScalaJson

轻量级http服务器:

喷雾:http://spray.io/documentation/1.2.3/spray-http/

scalatra:http://www.scalatra.org/

  

一些对NoSQL数据库有限制

没有限制。您只需在框架或服务器中使用幻像:https://github.com/outworkers/phantom

文档有点“干净”,但你可以在这里找到一个很好的例子:https://github.com/iamthiago/cassandra-phantom

您是需要内部使用的API还是外部API?如果您仅将此API用作内部API,则最好使用其他协议(如protobuf或Thrift)而不是HTTP和JSON。开销减少。

答案 1 :(得分:1)

我喜欢Lift作为一个灵活而强大的网络相关内容框架。有一些很好的帮助工具可用于构建HTTP API:http://simply.liftweb.net/index-Chapter-11.html

Lift附带了一些内置的ORM,但您可以跳过它们并使用您希望的任何数据库解决方案。我个人使用Lift和MongoDB以及casbah驱动程序,PostgreSQL使用Slick。