我目前正在尝试使用node.js和WebSocket,构建一个简单的MMO服务器和客户端(没有什么复杂的,只是为了学习node.js和HTML5)。除数据持久性外,基本功能已完成。到目前为止,所有数据都保存在内存中,但现在我想用mongodb(或类似的东西)添加持久存储。我的问题是如何实现node.js应用程序和数据库之间的通信。
服务器的主要活动可以描述如下:
接收传入消息(通过WebSocket) - >
- > 发送响应消息(通过WebSocket)
(步骤3-5并不总是发生)
我想这是一个非常常见的用例。
问题:
在我看来,使用同步调用数据库并在所有这些情况下进行交易将是糟糕的设计并引入性能问题。有更好的方法吗?
任何暗示都会有很大的暗示!非常感谢提前!!
答案 0 :(得分:0)
问题1:
node.js是异步的。这是事实。如果您无法在此模式下设计应用程序,则无法使用node.js
当然,有一些技术和模式可以让你在异步环境中做你想做的事。以下是一些可能引导您朝着正确方向前进的关键字,功能和链接:
问题2:
使用交易可能会很好,但你不能,因为mongoDB does not have any。你必须自己编程nodejs-side。这是mongoDB基础之一:程序员(而不是数据库)的所有权力。痛苦和悲伤!