Go で Chord DHT を作成しています (ただし、言語部分は重要ではありません)。
そして、ノード間の応答動作を理解しようとしています。ノード C にサクセサ要求メッセージを送信したいが、最初にノード A -> ノード B に移動し、次にノード C に到達する必要がある場合。ノード C が元のノードに応答するための最良の方法は何ですか?
私は明確な方法を考え出しましたが、どれがDHTにとってより偶像的であるかはわかりません.
- 各ノードが要求を行うと、元の TCP 接続で応答を待ちます。これにより、応答が最初に取った逆の経路を取るようになります。
- ノード C が要求を受信すると、要求メッセージの送信者 (IPAddress) フィールドで示される応答を元のノードに直接送信します。
- 他のメッセージと同じように、応答を送信者 NodeID に送信して、Chord リングを迂回してルーティングします。
どの方法を使用するのが最適なのかわかりません。