我想在 Scala 中构建一个带有 Cassandra 后端的 REST API,但由于有很多可用的框架,而且有些框架对 NoSQL 数据库有限制,我想知道更好的框架选择是什么。
最佳答案
您不应该将框架用于简单的 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/
some have limitations for NoSQL databases
没有任何限制。您可以简单地在框架或服务器中使用 phantom: https://github.com/outworkers/phantom
该文档有点“干净”,但您可以在这里找到一个很好的示例:https://github.com/iamthiago/cassandra-phantom
您需要 API 供内部使用还是作为外部 API?如果您仅将此 API 用作内部 API,那么最好使用 protobuf 或 Thrift 等其他协议(protocol),而不是带有 JSON 的 HTTP。更少的开销。
关于scala - 您建议使用哪种 Scala 框架来构建带有 Cassandra 后端的 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37515957/