0

複数 (現在 3 つ) の Web サイトからデータを収集 (「Web スクレイプ」) するオープンソースの Web サービスを設計する予定です。

Web サイトは Web サービスや API を公開せず、Web ページを公開するだけです。

データは、クライアントの要求に応じてすべての Web サイトから並行して収集され、XML に解析されてクライアントに返されます。

サーバーのオペレーティング システムは Linux です。

クライアントは、最初は私の Android アプリケーションにすぎません。

プロジェクトが成功すれば、同時クライアントはおそらく 100 以上になるでしょう... ;-)。

現在、私の好みは次の採用に行きます:

  • perl (サービス言語用)
  • ModPerl::Registryを使用したmod_perl2 (Apache 組み込み高速 perl インタープリター用)
  • perl モジュールCHI::Driver::FastMmap (最新の高速キャッシュ ハンドラ用)
  • perl モジュールCoro (多くのリクエストを並行して配置するための非同期イベント ループ用)

プロジェクトの仕様は一般的に使用でき、興味深いものになると思います。Coroとmod_perl2を組み合わせて使用​​すると多くの問題が発生するため、質問します。

私の養子縁組の好みは十分に一致していますか?

非互換性や潜在的な問題はありますか?

強化するための提案はありますか (この順序で):

  • コンポーネント間の互換性
  • 実装のきちんと
  • メンテナンスのしやすさ
  • 公演
4

2 に答える 2

1

おそらく、新しいプロジェクトで mod_perl を使用して開発する必要はもうないでしょう。あなたは本当にPlackベースの何かを使いたい、あるいはPlack自体を使いたいと思っています。Coro を使用する場合は、 TwiggyベースのバックエンドなどのAnyEventを使用するのが最も理にかなっています (その前にリバース プロキシを配置することもできます)。

于 2011-08-02T12:14:55.943 に答える
0

Apache を使い続けてよろしいですか?
もしそうなら、Coro のことは忘れて、apache に同時実行性を処理させてください。モジュールと構成をプリロードし、非常に効率的な apache RequestHandler を記述します。(apache2+modperl2 が利用できるときはいつもそうしています。)
そうでない場合は、サーバーにとらわれない Plack の学習を開始します。

最初のルートを選択する場合は、従来の CGI を避け、代わりにCGI::Applicationを採用することをお勧めします。これにより、CGI の軽さと速度がほとんど得られますが、はるかに優れた最新の開発環境とフレームワーク (および Plack 互換) が得られます。 .

于 2011-11-03T14:21:30.290 に答える