【问题标题】:Business Contuinity for Node.js Web Application during Network Failure [duplicate]网络故障期间 Node.js Web 应用程序的业务连续性 [重复]
【发布时间】:2015-01-01 13:18:09
【问题描述】:

我计划使用 Node.js 和 Meteor 框架和 mongoDB 创建一个 Web 应用程序。该应用程序对业务运营至关重要,因此理想情况下它应该能够处理网络故障。这可能吗?或者我唯一的选择是创建一个独立的应用程序?该应用程序可能会在 PC 或平板电脑上运行。

是否有任何现有的解决方案?

我的一个想法是,是否可以在机器上拥有用户数据库的本地缓存。当网络启动时,此缓存可能不会被使用,但会不断更新。但是当网络出现故障时,连接将被切换到这个数据库,这样操作就可以照常进行。当网络备份时,该数据库将与我们的服务器同步并恢复正常模式。

如果是 PC,我们也许可以手动运行本地服务器来获取网页备份。不过我想不出平板电脑的解决方案。

【问题讨论】:

  • 更好的解决方案是使用离线存储,例如本地存储。当应用检测到无连接时,切换到离线存储,回来时同步。
  • 我猜这些信息都不会是敏感的,您的任何用户都可以查看其他用户的数据以及存储在您的应用中的任何其他信息.如果不是这样,您应该以不同的方式看待问题,并寻求在用户离线时向用户提供某种流畅体验的方法。或者也许分割您的应用程序中符合/不适合离线使用的部分。离线数据存储的合适工具比本地存储和包装器更合适。

标签: node.js mongodb meteor backup


【解决方案1】:

Meteor 实际上开箱即用地支持这一点。我想我在搜索错误的术语。查看下面的链接了解更多信息。

How can Meteor apps work offline?

【讨论】:

    【解决方案2】:

    听起来您正在寻找 PouchDB。它使用 CouchDB 作为后端而不是 Mongo,但我认为这两者非常相似。 PouchDB 是客户端设备上基于本地 Javascript 的数据库。一旦客户端再次在线,它就会与“真实”数据库同步。

    我不隶属于他们,我也每天使用 Mongo,以前从未真正尝试过 CouchDB,但可能值得一看。

    【讨论】:

    • 这就是我要找的,太糟糕了,Pouch 不适用于 Mongo。不过我找到了更好的解决方案。 Meteor 似乎开箱即用地支持这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    相关资源
    最近更新 更多