0

我想要构建的是一个在线应用程序,它被不同的组使用,每个组都有自己的 Intranet。现在,由于愚蠢的安全策略,数据不能位于 Intranet 之外。您将如何构建一个仍然在线的应用程序,以便您可以一次将更新推送给每个人,但在每个 Intranet 的服务器上都有一个数据库?我最初的计划是使用 Node.js 和 MongoDB。

4

2 回答 2

0

我现在面临着类似的问题,所以这是我的看法,而不是真正的 mongo 或节点特定的。

  1. 在每个客户端的 Intranet 上放置一个 db 和一个简单的 restful 服务器。服务器可以完全相同。
  2. 放置一个可从互联网访问的路由外观,该外观根据 url 将请求重定向到适当的服务器,即:http://facade/server/resource成为对http://server/resouce.
  3. 配置外观,以便请求http://facade/resource去每个服务器,检索结果并以某种聚合形式返回所有结果。

显然还有更多细节需要考虑,比如权限(每个人都可以发布到每个服务器吗?如果不能,谁可以?),但总体思路是存在的。

于 2012-07-03T12:10:40.097 回答
0

如果您的数据库确实必须在现场,并且您的应用程序确实必须在异地,那么您唯一的选择可能是设置从您的应用程序到现场数据库的安全连接,并假装它在本地托管到应用程序。这可能/可能不会违反安全策略。理论上,您可以通过两个网络之间的 vpn 很好地锁定它。但这并不适合胆小的人,性能会受到影响,并且确实存在安全问题。这也意味着每个站点都需要做一些工作。

如果您希望它“在线”的唯一原因是您所说的推送更新,那么您最好在本地安装应用程序,并让它轮询中央服务器以获取有关新版本的通知,下载更新到自己,并自动安装它们。一旦你创建了这个,新的安装不需要新的工作。

于 2012-07-03T19:10:36.720 回答