首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Aleph/Lamina异步访问MongoDB

使用Aleph/Lamina异步访问MongoDB
EN

Stack Overflow用户
提问于 2012-11-23 02:28:22
回答 1查看 575关注 0票数 1

我已经读了一段时间关于Clojure的文章,我认为它是Node.js的替代品(我在另一个项目中使用了它)。最有希望的库似乎是Aleph/Lamina,不幸的是,它没有Node那么多的例子。我的问题是:

  1. 如何使用一系列异步操作来处理请求,例如从MongoDB读取文档、进行计算、保存新文档并将其发送到响应中?我无法从Lamina页面中的例子中写出它。这听起来像是一个很普通的用例,我很惊讶没有找到任何代码来显示它。如果你能给我看一些示例代码,那就太好了。
  2. 这种设置是否足以满足重负载服务器(例如每秒数万次请求)的需要?我不能为每个新请求创建一个线程,所以我需要类似于Node方法的东西。
  3. 有没有一个中型或大型公司使用这其中任何一个例子?
  4. Node (除了Aleph/Lamina之外)还有什么更好的选择吗?也许是Clojurescript?我的客户端不是用Javascript编写的,所以在客户机和服务器中使用相同的语言对我来说不是一个优势。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-11-23 04:20:55

很少有指点:

  1. 您需要查看阿列弗,它在Lamina通道抽象的基础上构建HTTP抽象。
  2. 向MongoDB读取和写入文档可以是异步的,但是库应该提供此功能。在Node.js中,MongoDB库必须是异步的--换句话说,它会破坏Node编程模型,在这种情况下,Clojure的MongoDB库很可能提供了非异步函数。
  3. 异步操作只有在IO (即读写mongodb、发回响应等情况下)才有帮助。生成计算是CPU绑定操作,与异步模型无关。
  4. Vert.x是Java Node.js。Clojure支持在路线图上。我更喜欢阿列弗,因为你可以在异步和非异步世界中发挥需要。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13522414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档