2016-06-18 6 views
-1


Rubyプログラムが複数のIPアドレスを持つことが可能かどうかを知りたいですか?私はサイトから多くのデータをダウンロードしようとしていますが、一度に1つしか接続しないと非常に遅いです。
自分のIPアドレスを使って各スレッドでプログラムをマルチスレッドしようとしますが、最初に可能かどうかわかりません。何か助けやヒントがあれば大歓迎です。
複数のIPアドレスを持つruby scrapp

+0

1のIPを、効果的にそれを行うための唯一の方法は次のようになり複数のマシンを持ち、プロキシやVPNに接続してプロセスを起動するそれを通して。 –

+0

私は複数のIPアドレスを使用する必要があるので、私は複数のマシンを持つことはできません。プログラムのスレッドでvpnを使用することは可能ですか? –

+0

プログラムをいくつかのコンポーネントに分解した方がいいかもしれません.1つのマスターはプログラムでvpnに接続し、2はデータをスクラップするコンポーネントです。 api todoを使ってvpnを探す必要があります。また、接続をテストしてWebサイトのレート制限を把握し、ランダムな変数を使用して通話時間を変更する必要がある場合があります。これは、一部のWebサイトが簡潔な呼び出しを探しているためです。また、データに応じてGoogleドキュメントを使用してスクレーパーを作成することもできます。 –

答えて

1

マシンやプログラムが複数のIPアドレスを持つことは間違いありません。複数のネットワークアダプタを使用することもでき、それらをそれぞれ異なる物理接続に結びつけることもできます。

しかし、それは維持するために本当に毛むくじゃらすることができます。そのための課題は、部分的にはコード、一部はシステムのメンテナンス、一部はネットワークの実現に必要なものです。

あなたが取ることができるより良いアプローチは、プログラムを配布して実行できるように設計することです。そのため、複数のコピーを同期させて、並行して作業を行うことができます。必要に応じて、必要に応じてさまざまなマシンや接続を介して、水平方向に縮尺を変えることができます。

編集:あなたは水平方向に拡大縮小することはできず、同じマシンから複数の接続を使用することをお勧めします。

これは、ネットワークスタックを少し下げて、特定のネットワークインターフェイスを使用するためにソケットを介して自分自身を開発しなければならない可能性が非常に高いです。

チェックアウトan introduction to Ruby socketsまた

、これらの関連の質問をチェックアウト:マシンあたり

+0

私は複数のマシンを使用していますが、私は他の問題に遭遇しています。彼らは全く同じ仕様を持っていません(どちらにも投資するお金はありません)。そのため、複数のIPアドレスを持つ1つのプログラムが最適なソリューションです。どのようにして問題に近づくのか? –

+0

接続が遅い場合は、接続を追加する必要があります。私は、ネットワークアダプタだけでなく、独立したネットワーク接続についても話しています。今追加する情報はもうありません。申し訳ありません。 HTTP接続を低レベルで制御するために使用できる宝石や何かがあるなら、後で見ていきます。 – Alpha

+0

@MatthieuRaynauddeFitte私は自分の答えを更新しました。うまくいけば、これは助けになるでしょう! – Alpha

関連する問題