我在这里问我的问题,因为我还没有在其他任何地方找到任何信息。
上下文:
-具有 3 个服务器的副本集架构。
- PHP 作为主要语言
- 图片平均大小约为 2Mo
- 用法:使用 storeFile() PHP 驱动程序函数将大量画廊存储到 mongodb
我担心主服务器崩溃期间和之后的存储。
如果我使用 storeFile() 存储一个完整的 80Mo 文件,客户端会将查询定向到副本集的主副本,然后副本集开始存储数据。
如果现在写操作完成了 60%,而主节点失败了,写操作会发生什么?
我知道我会得到一个异常,我会捕获并尝试重试该操作。但是已经写入的数据呢?
我将在数据库中有一个现有文件,该文件是原始图片的一部分,因此已损坏?
或者,它像事务一样工作,所以如果发生错误,mongodb 会回滚操作并抛出异常?
链接到我在谷歌群组上的主题:谷歌群组主题