小規模な Web サイトにレコメンデーション エンジンを実装することを検討しています。ウェブサイトは LAMP スタックを採用し、何らかの理由でレコメンデーション エンジンを C++ で記述する必要があります。オンライン コンポーネントとオフライン コンポーネントで構成され、どちらも MySQL に接続する必要があります。違いは、オンライン コンポーネントには接続プールが必要であるのに対し、オフライン コンポーネントでは、複数の永続的な接続または必要に応じて接続するだけで十分です。ライン コンポーネント。
オンライン コンポーネントは、Apache AXIS2 を介して Web サービスとしてラップされます。Apache http サーバー上の PHP フロントエンド アプリは、この Web サービス モジュールから推奨データを取得します。
私が考えることができるオンライン コンポーネントの DB 接続オプションは 2 つあります。 1. ODBC 接続プールを使用します。unixODBC が候補になると思います。2. Apache HTTP サーバーの一部として提供される接続プール API を使用します。mod_dbd を選択できます。http://httpd.apache.org/docs/2.2/mod/mod_dbd.html
Off-line Component の簡単な DB 接続オプションは、ODBC を使用した直接接続です。
Web アプリの設計経験がないため、次の質問があります。
オンライン コンポーネントのオプション 1 は、Apache HTTP サーバーのプール API を利用しない密結合設計です。しかし、オプション 2 (3 層アーキテクチャ) を選択した場合、Apache HTTP サーバーとは別のスタンドアロン コンポーネントとして、その接続プール API を使用するにはどうすればよいでしょうか? Java アプリケーションは WAR ファイルとして展開し、tomcat などのサーブレット コンテナーに含めることができます (Mahout in Action のセクション 5.5 を参照)。私の C++ レコメンデーション エンジンに同様のアプローチはありますか?
ちゃんとしたプロトタイプを作ったかどうかはわかりません。任意の提案をいただければ幸いです:)
ありがとう、マイク