web-dev-qa-db-ja.com

JavaScript / HTML5を利用した分散型システムを作る?

私は分散型システムに興味があり、現在自分でシステムを構築することを検討しています。 JavaScriptとHTML5を使用することを検討しています。これは、システムを非常に使いやすくするためです(Webサイトにアクセスするだけです)。

いくつかの考え:

  • ストレージに別の分散型ネットワークを使用する場合と使用しない場合があります。使用する場合でも、クライアントにデータをキャッシュしたいと思うでしょう。そうでない場合は、情報が my ネットワークに配信されるため、クライアントにデータを保存する必要があります。これに適したHTML5ストレージモデルはありますか?サイズ制限があるとどこかで読んだことがあります。
  • ブラウザでJavaScriptを使用する場合、通常のソケットの代わりにWebSocketを使用する必要があることを理解しています。これにより、「プロトコル仕様」でWebSocketを使用する必要がなくなりますか?
1
Sven Adbring

そうでない場合は、情報がネットワーク上で配布されるため、クライアントにデータを保存する必要があります。これに適したHTML5ストレージモデルはありますか?サイズ制限があるとどこかで読んだことがあります。

シナリオでデータを配布する方法を私が知っている唯一の方法は、Webサーバーコンポーネントを使用することです。データクライアント側のみを(HTML5ローカルストレージ、webSQL、またはindexedDBを介して)保存する場合は、Webサーバーに http://en.wikipedia.org/wiki/Gossip_protocol を実装できます。クライアントから相互に通信されるすべてのデータを反映します。

ブラウザでJavaScriptを使用する場合、通常のソケットの代わりにWebSocketを使用する必要があることを理解しています。これにより、「プロトコル仕様」でWebSocketを使用する必要がなくなりますか?

Websocketを使用する必要はありません。これは、ajaxとポーリングで実現できます。ただし、Websocketを使用すると、サーバーからクライアントにデータを簡単にプッシュできるため、ゴシッププロトコルの実装が簡単になります。 1人のクライアントがローカルに保存したメッセージを投稿すると、Websocket対応のWebサーバーがメッセージを他のすべてのクライアントに中継し、他のすべてのクライアントがデータをローカルに保存します。

推奨事項:-JavaScriptを全面的に使用する場合は、Node.jsとSocketIOライブラリを試してください-サーバーコンポーネントを作成する必要がない場合は、 https://www.firebase .com /

ローカルストレージに関しては、html5から:「「5メガバイト」は、各Originがデフォルトで取得するストレージ容量です。これは、HTML5ストレージ仕様の提案にすぎないと表現されていますが、ブラウザ間で驚くほど一貫しています。」

1
Matt Parke