私が構築したいのは、オンラインで動作し、それぞれが独自のイントラネットを持つさまざまなグループによって使用されるアプリケーションです。現在、愚かなセキュリティ ポリシーにより、データをイントラネットの外に置くことはできません。アプリがまだオンラインであるため、更新を一度に全員にプッシュできる一方で、各イントラネットのサーバーに DB があるアプリを構築するにはどうすればよいでしょうか? 私の最初の計画は、Node.js と MongoDB を使用することです。
2 に答える
データベースが実際にオンサイトにある必要があり、アプリが実際にオフサイトにある必要がある場合、おそらく唯一のオプションは、アプリからオンサイト データベースへの安全な接続をセットアップし、あたかもアプリに対してローカルでホストされているかのように振る舞うことです。これは、セキュリティ ポリシーに違反する場合と違反しない場合があります。理論的には、2 つのネットワーク間に VPN を使用して、かなりうまくロックダウンできます。しかし、これは気弱な人向けではなく、パフォーマンスが低下し、セキュリティの問題もあります。それはまた、すべてのサイトにとって少し手間がかかることを意味します。
「オンライン」にしたい唯一の理由が、あなたが述べたように更新をプッシュするためである場合は、アプリをオンプレミスにインストールし、新しいバージョンに関する通知のために中央サーバーにポーリングすることをお勧めします。アップデートを自分自身にダウンロードし、自動的にインストールします。これを作成したら、新しいインストールに新しい作業は必要ありません。
私は今、同様の問題に直面しているので、実際にはモンゴやノード固有ではなく、これが私の見解です。
- 各クライアントのイントラネットにデータベースと単純な安静サーバーを配置します。サーバーはまったく同じにすることができます。
- URL に基づいて適切なサーバーにリクエストをリダイレクトする、インターネットからアクセス可能なルーティング ファサードを配置します。つまり
http://facade/server/resource
、 へのリクエストになりhttp://server/resouce
ます。 http://facade/resource
リクエストが各サーバーに行き、結果を取得し、それらすべてを何らかの集約形式で返すようにファサードを構成します。
パーミッション (誰もが各サーバーに公開できますか? そうでない場合、誰が公開できますか?) など、考慮すべき詳細が明らかにありますが、一般的な考え方はそこにあります。