gpt4 book ai didi

Node.js(&MongoDB)服务器崩溃,数据库操作中途?

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:31 27 4
gpt4 key购买 nike

我有一个带有 mongodb 后端的 Node.js 应用程序,将在一周内投入生产,我对如何处理应用程序崩溃和重新启动几乎没有疑问。

假设我有一个简单的路线/followUser,其中我有2个数据库操作

/followUser
----->Update User1 Document.followers = User2
----->Update User2 Document.followers = User1
----->Some other mongodb(via mongoose)operation

如果服务器崩溃(由于电源故障或远程 mongodb 服务器已关闭),会发生什么情况:

----->Update User1 Document.followers = User2
SERVER CRASHED , FOREVER RESTARTS NODE

下面这些操作会发生什么?系统现在处于不一致的状态,每次我询问 User2 关注者时都可能会出错

----->Update User2 Document.followers = User1
----->Some other mongodb(via mongoose)operation

还请为 Linux 中运行的应用程序推荐良好的日志记录和重新启动/监控模块。

现在我使用域来捕获异常,执行 server.close ,但在 process.exit() 之前我想确保所有数据库事务都已完成,我可以通过测试事件循环是否为空来检查这一点(如何?)然后 process.exit(1) ?

最佳答案

为此您需要事务,由于 MongoDB 没有事务,这里有一个解决方法 http://docs.mongodb.org/manual/tutorial/perform-two-phase-commits/

关于Node.js(&MongoDB)服务器崩溃,数据库操作中途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19475417/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com