0

単一の Web ロールを使用して Windows Azure 内で実行する予定の Web サイトを開発しています。このサイトは、Windows サービスとして実行する必要がある Sphinx 検索エンジンを利用します。それで、私の質問はこれです... Web ロール内に Sphinx Search Windows サービスをインストールすることは可能ですか。

Azure に関する最初の調査から、Web ロールは IIS を実行する VM であるため、「はい」と考えています。したがって、リモートでサービスをインストールして、サービスをインストールできるはずです。:)

これは正しいと思いますか?

4

3 に答える 3

1

RDP 経由でソフトウェアをインストールすることは、これらの変更が保持されないため、Web/Worker ロール インスタンスでは実行可能なソリューションではありません。起動スクリプトまたは からインストールする必要がありますOnStart()。サービスとしてインストールしたいので、昇格した権限が必要になるため、起動スクリプトを意味します。注: インストーラーは無人モードをサポートする必要があります。無人モードでは、すべてのパラメーターが人間の介入なしでコマンド ラインを介して指定されます。

スケーラビリティはどうですか?Web ロールのインスタンスが複数実行されている場合、sphinx は 2 つのインスタンス間で実行できますか? 私が読んだところによると、ODBC 準拠のデータベースをサポートしており、Windows Azure SQL データベースに対して使用できる可能性があります。その場合、同じデータ ストアにアクセスする 2 つの異なるマシンで 2 つの Sphinx エンジンを実行できますか? もしそうなら、これは実行可能な解決策のように聞こえます。

インストールを自動化できない場合、または MySQL などの追加機能が必要な場合は、仮想マシン内に sphinx 検索エンジンを配置することを検討してください (2012 年 6 月の新機能)。これで、Windows 2008 Server をスピンアップし、RDP を使用して、希望どおりに構成することができます。

于 2012-07-08T13:14:53.773 に答える
0

厳密に言えば、そうすることができます。ただし、これは、1 つの VM インスタンスで実行し、インスタンスを再起動する必要がないことを前提としています。

通常は Windows サービスとして存在する機能については、Azure ワーカー ロールを検討する必要があります。

于 2012-07-08T09:24:00.060 に答える
0

あなたの回答を読んで、もう少し考えてみると、サービスをインストールするという考えをやめることが最善の策だと思います。私はLucene.NETのAPIを見てきました(これはSphinxでも同じかもしれません)。インデックスなどの書き込み/管理をコード内にカプセル化できるため、サービスは必要ありません。

Azure の場合、ローカル ストレージと Azure ストレージの両方を使用してインデックス ファイルを管理するためのライブラリがあり、これは役立つ可能性があります。私が読んだシナリオは、HTTP 要求を処理して検索を実行する Web ロールと、キューを介して DB の変更を受け入れてインデックスに書き込む Worker ロールを持つことが可能であることを示しています。

于 2012-07-08T14:19:34.870 に答える