如何在OCaml中编写Web服务器(服务)?

我希望在OCaml中编写一个Web服务服务器(使用http协议)。

举个简单的例子,我想写一个http server 。 用户可以访问它并提供像http://myservice.com?i=1&j=2这样的参数。 然后我的服务器获取请求和参数并calculate i+j并返回结果。


当然,我的服务对于计算部分来说会更复杂。 而不是这个简单的计算例子,我真正需要做的是

  • 访问数据库(MongoDB)获取一些数据
  • 访问另一个第三方Web服务以获取更多数据
  • 计算所有数据以获得结果并返回给用户。
  • 所以,我也需要考虑parallelism / multi-threading ,尽管我想先从简单的案例开始。


    我的问题是:

  • 我应该使用哪个库来首先设置这样的http server ? 我查看了Ocamlnet 3 ,认为它可能是一个很好的候选人,但它缺乏好的教程,我仍然不知道如何使用nethttpdnetplex等。
  • 我应该如何设计我的Web应用程序的体系结构 ? 我知道OCaml不擅长parallelism ,那么我怎样才能让每个服务实例不被阻塞?

  • Matias Giovannini有一个很好的教程如何在ocamlnet中做到这一点:

    http://alaska-kamtchatka.blogspot.ca/2012/10/how-to-write-simple-web-application.html

    我个人不能忍受ocamlnet,所以我会考虑cohttp。 Ocamlnet更大,更成熟,但是有更多的文档。


    我想你应该给Ocsigen一个尝试

    链接地址: http://www.djcxy.com/p/79339.html

    上一篇: How to write a web server (service) in OCaml?

    下一篇: What libraries should I use for better OCaml Threading?