プールされたデータセットを同期する必要がある一連のほぼ接続されたノードがある状況があります。それらは 200 ~ 1500K のファイルであり、環境に応じて 30 分から 6 時間の間で不定期に更新されます。現在、ノードの数は数百にのぼりますが、理想的には、それはさらに増えるでしょう。
現在、ノードのクラスター間で一連のファイルを同期させるために libtorrent を使用しています。私は数時間ごとにダンプを行い、前の torrent に基づいて新しい torrent を作成します。次に、BEP 38 の戦略を使用して関連付けます。情報ハッシュは、他のノードがポーリングして取得する DHT の既知のエントリにポストされます。
これを行うためのより良い方法があるかどうか疑問に思っています。私が BitTorrent を好きな理由は、もともとファームウェアの更新のためでした。素晴らしい接続性以外のノードについて心配する必要はありません.DHTを使用すると、適度にうまく自己組み立てできます. その後、これらのプールされたファイルを同期するように拡張されました。
announce_peer
現在、各ノードが新しいレコードごとに実行できるようにする拡張機能を作成できるかどうかを確認しようとしています。理論的には、利害関係者はそれを聞くことができます。これにより、次の 2 つの大きな問題が生じます。
- 関心のあるノードに新しいデータがあることを知らせるにはどうすればよいですか?
- 数分ごとに新しい情報ハッシュを追加する 1000 以上のノードがある場合、DHT はどうなりますか?
四角いペグを丸い穴に打ち込もうとしているような気がすることは認めますが、一度に実行するプロトコルはできるだけ少なくしたいと考えています。